@forge/cli-shared 9.4.0-next.3 → 9.4.0-next.4

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.
@@ -14947,6 +14947,7 @@ var MercuryFocusAreaSortField;
14947
14947
  MercuryFocusAreaSortField["FocusAreaType"] = "FOCUS_AREA_TYPE";
14948
14948
  MercuryFocusAreaSortField["GroupType"] = "GROUP_TYPE";
14949
14949
  MercuryFocusAreaSortField["HasParent"] = "HAS_PARENT";
14950
+ MercuryFocusAreaSortField["HasSponsorOrganization"] = "HAS_SPONSOR_ORGANIZATION";
14950
14951
  MercuryFocusAreaSortField["Health"] = "HEALTH";
14951
14952
  MercuryFocusAreaSortField["HierarchyLevel"] = "HIERARCHY_LEVEL";
14952
14953
  MercuryFocusAreaSortField["LastUpdated"] = "LAST_UPDATED";
@@ -1,6 +1,5 @@
1
1
  import { GraphQLClient } from 'graphql-request';
2
2
  import { GraphQLError } from 'graphql';
3
- import { Headers as NodeFetchHeaders } from 'node-fetch';
4
3
  import { Authenticator, AuthorizationHeader } from '../auth';
5
4
  import { CLIDetails, EnvironmentOptions } from '../index';
6
5
  import { BaseError, UserError } from '../shared';
@@ -31,7 +30,7 @@ export declare class GraphQLProviderServiceError extends BaseError {
31
30
  export declare class GraphqlError extends Error {
32
31
  constructor(data: any, requestId?: string);
33
32
  }
34
- export type Headers = Pick<NodeFetchHeaders, 'get'>;
33
+ export type Headers = Pick<globalThis.Headers, 'get'>;
35
34
  export declare class MinimalGraphQLRunner implements GraphQLRunner {
36
35
  private readonly authenticator;
37
36
  private readonly endpoint;
@@ -1 +1 @@
1
- {"version":3,"file":"minimal-graphql-runner.d.ts","sourceRoot":"","sources":["../../src/graphql/minimal-graphql-runner.ts"],"names":[],"mappings":"AAAA,OAAO,EAAe,aAAa,EAAE,MAAM,iBAAiB,CAAC;AAC7D,OAAO,EAAE,YAAY,EAAE,MAAM,SAAS,CAAC;AACvC,OAAO,EAAE,OAAO,IAAI,gBAAgB,EAAE,MAAM,YAAY,CAAC;AAEzD,OAAO,EAAE,aAAa,EAAE,mBAAmB,EAAE,MAAM,SAAS,CAAC;AAE7D,OAAO,EAAE,UAAU,EAAE,kBAAkB,EAAqD,MAAM,UAAU,CAAC;AAC7G,OAAO,EAAE,SAAS,EAAuB,SAAS,EAAE,MAAM,WAAW,CAAC;AAItE,OAAO,EAAE,iCAAiC,EAAE,aAAa,EAAE,SAAS,EAAE,MAAM,kBAAkB,CAAC;AAE/F,eAAO,MAAM,YAAY,cAAc,CAAC;AACxC,eAAO,MAAM,kBAAkB,qBAAqB,CAAC;AACrD,eAAO,MAAM,sBAAsB,0BAA0B,CAAC;AAE9D,eAAO,MAAM,cAAc,EAAE,kBAM5B,CAAC;AACF,qBAAa,0BAA2B,SAAQ,SAAS;CAAG;AAM5D,qBAAa,0BAA2B,SAAQ,SAAS;;CAIxD;AAED,qBAAa,uBAAwB,SAAQ,SAAS;;CAIrD;AAED,qBAAa,2BAA4B,SAAQ,SAAS;IAMtD,OAAO,CAAC,QAAQ,CAAC,SAAS;IAL5B,OAAO,CAAC,QAAQ,CAAC,IAAI,CAAqB;IAC1C,OAAO,CAAC,QAAQ,CAAC,UAAU,CAAqB;IAChD,QAAQ,CAAC,SAAS,EAAE,MAAM,GAAG,SAAS,CAAC;gBAGpB,SAAS,EAAE,OAAO,EACnC,SAAS,EAAE,MAAM,GAAG,SAAS,EAC7B,MAAM,EAAE,YAAY,EAAE;IASxB,OAAO,QAAO,MAAM,GAAG,SAAS,CAE9B;IAEF,aAAa,QAAO,MAAM,GAAG,SAAS,CAEpC;IAEF,YAAY,QAAO,MAAM,GAAG,SAAS,CAEnC;IAEK,WAAW,IAAI,OAAO;CAG9B;AAED,qBAAa,YAAa,SAAQ,KAAK;gBACzB,IAAI,EAAE,GAAG,EAAE,SAAS,CAAC,EAAE,MAAM;CAG1C;AAED,MAAM,MAAM,OAAO,GAAG,IAAI,CAAC,gBAAgB,EAAE,KAAK,CAAC,CAAC;AAEpD,qBAAa,oBAAqB,YAAW,aAAa;IAEtD,OAAO,CAAC,QAAQ,CAAC,aAAa;IAC9B,OAAO,CAAC,QAAQ,CAAC,QAAQ;IACzB,OAAO,CAAC,QAAQ,CAAC,UAAU;gBAFV,aAAa,EAAE,aAAa,EAC5B,QAAQ,EAAE,MAAM,EAChB,UAAU,EAAE,UAAU,GAAG,SAAS;IAGxC,GAAG,CAAC,UAAU,SAAS,SAAS,EAAE,SAAS,EAAE,WAAW,GAAG,iCAAiC,EACvG,KAAK,EAAE,MAAM,EACb,SAAS,EAAE,UAAU;;kBAMD,SAAS;oBACD,WAAW,GAAG,SAAS;;cAIrC,sBAAsB,CAAC,QAAQ,EAAE,MAAM,EAAE,mBAAmB,EAAE,mBAAmB;IAMpF,UAAU,CAAC,mBAAmB,EAAE,mBAAmB,GAAG,OAAO,CAAC;QAAE,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,CAAA;KAAE,CAAC;YAYvF,cAAc;IAQ5B,OAAO,CAAC,aAAa;IAIrB,OAAO,CAAC,gBAAgB;YAIV,4BAA4B;IA6C1C,OAAO,CAAC,YAAY;CAarB"}
1
+ {"version":3,"file":"minimal-graphql-runner.d.ts","sourceRoot":"","sources":["../../src/graphql/minimal-graphql-runner.ts"],"names":[],"mappings":"AAAA,OAAO,EAAe,aAAa,EAAE,MAAM,iBAAiB,CAAC;AAC7D,OAAO,EAAE,YAAY,EAAE,MAAM,SAAS,CAAC;AAEvC,OAAO,EAAE,aAAa,EAAE,mBAAmB,EAAE,MAAM,SAAS,CAAC;AAE7D,OAAO,EAAE,UAAU,EAAE,kBAAkB,EAAqD,MAAM,UAAU,CAAC;AAC7G,OAAO,EAAE,SAAS,EAAuB,SAAS,EAAE,MAAM,WAAW,CAAC;AAItE,OAAO,EAAE,iCAAiC,EAAE,aAAa,EAAE,SAAS,EAAE,MAAM,kBAAkB,CAAC;AAE/F,eAAO,MAAM,YAAY,cAAc,CAAC;AACxC,eAAO,MAAM,kBAAkB,qBAAqB,CAAC;AACrD,eAAO,MAAM,sBAAsB,0BAA0B,CAAC;AAE9D,eAAO,MAAM,cAAc,EAAE,kBAM5B,CAAC;AACF,qBAAa,0BAA2B,SAAQ,SAAS;CAAG;AAM5D,qBAAa,0BAA2B,SAAQ,SAAS;;CAIxD;AAED,qBAAa,uBAAwB,SAAQ,SAAS;;CAIrD;AAED,qBAAa,2BAA4B,SAAQ,SAAS;IAMtD,OAAO,CAAC,QAAQ,CAAC,SAAS;IAL5B,OAAO,CAAC,QAAQ,CAAC,IAAI,CAAqB;IAC1C,OAAO,CAAC,QAAQ,CAAC,UAAU,CAAqB;IAChD,QAAQ,CAAC,SAAS,EAAE,MAAM,GAAG,SAAS,CAAC;gBAGpB,SAAS,EAAE,OAAO,EACnC,SAAS,EAAE,MAAM,GAAG,SAAS,EAC7B,MAAM,EAAE,YAAY,EAAE;IASxB,OAAO,QAAO,MAAM,GAAG,SAAS,CAE9B;IAEF,aAAa,QAAO,MAAM,GAAG,SAAS,CAEpC;IAEF,YAAY,QAAO,MAAM,GAAG,SAAS,CAEnC;IAEK,WAAW,IAAI,OAAO;CAG9B;AAED,qBAAa,YAAa,SAAQ,KAAK;gBACzB,IAAI,EAAE,GAAG,EAAE,SAAS,CAAC,EAAE,MAAM;CAG1C;AAED,MAAM,MAAM,OAAO,GAAG,IAAI,CAAC,UAAU,CAAC,OAAO,EAAE,KAAK,CAAC,CAAC;AAEtD,qBAAa,oBAAqB,YAAW,aAAa;IAEtD,OAAO,CAAC,QAAQ,CAAC,aAAa;IAC9B,OAAO,CAAC,QAAQ,CAAC,QAAQ;IACzB,OAAO,CAAC,QAAQ,CAAC,UAAU;gBAFV,aAAa,EAAE,aAAa,EAC5B,QAAQ,EAAE,MAAM,EAChB,UAAU,EAAE,UAAU,GAAG,SAAS;IAGxC,GAAG,CAAC,UAAU,SAAS,SAAS,EAAE,SAAS,EAAE,WAAW,GAAG,iCAAiC,EACvG,KAAK,EAAE,MAAM,EACb,SAAS,EAAE,UAAU;;kBAMD,SAAS;oBACD,WAAW,GAAG,SAAS;;cAIrC,sBAAsB,CAAC,QAAQ,EAAE,MAAM,EAAE,mBAAmB,EAAE,mBAAmB;IAMpF,UAAU,CAAC,mBAAmB,EAAE,mBAAmB,GAAG,OAAO,CAAC;QAAE,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,CAAA;KAAE,CAAC;YAYvF,cAAc;IAQ5B,OAAO,CAAC,aAAa;IAIrB,OAAO,CAAC,gBAAgB;YAIV,4BAA4B;IA6C1C,OAAO,CAAC,YAAY;CAarB"}
@@ -1,4 +1,3 @@
1
- import { Response } from 'node-fetch';
2
1
  export interface FeedbackPost {
3
2
  summary: string;
4
3
  description: string;
@@ -1 +1 @@
1
- {"version":3,"file":"feedback-post-client.d.ts","sourceRoot":"","sources":["../../src/http-client/feedback-post-client.ts"],"names":[],"mappings":"AAAA,OAAc,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAC;AAE7C,MAAM,WAAW,YAAY;IAC3B,OAAO,EAAE,MAAM,CAAC;IAChB,WAAW,EAAE,MAAM,CAAC;IACpB,KAAK,EAAE,MAAM,CAAC;CACf;AAED,MAAM,WAAW,kBAAkB;IACjC,YAAY,CAAC,QAAQ,EAAE,YAAY,GAAG,OAAO,CAAC,QAAQ,CAAC,CAAC;CACzD;AAqBD,qBAAa,uBAAwB,YAAW,kBAAkB;IAChE,QAAQ,CAAC,yBAAyB,oHACiF;IAEtG,YAAY,CAAC,QAAQ,EAAE,YAAY,GAAG,OAAO,CAAC,QAAQ,CAAC;CASrE"}
1
+ {"version":3,"file":"feedback-post-client.d.ts","sourceRoot":"","sources":["../../src/http-client/feedback-post-client.ts"],"names":[],"mappings":"AAAA,MAAM,WAAW,YAAY;IAC3B,OAAO,EAAE,MAAM,CAAC;IAChB,WAAW,EAAE,MAAM,CAAC;IACpB,KAAK,EAAE,MAAM,CAAC;CACf;AAED,MAAM,WAAW,kBAAkB;IACjC,YAAY,CAAC,QAAQ,EAAE,YAAY,GAAG,OAAO,CAAC,QAAQ,CAAC,CAAC;CACzD;AAqBD,qBAAa,uBAAwB,YAAW,kBAAkB;IAChE,QAAQ,CAAC,yBAAyB,oHACiF;IAEtG,YAAY,CAAC,QAAQ,EAAE,YAAY,GAAG,OAAO,CAAC,QAAQ,CAAC;CASrE"}
@@ -1,8 +1,6 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.HttpsFeedbackPostClient = void 0;
4
- const tslib_1 = require("tslib");
5
- const node_fetch_1 = tslib_1.__importDefault(require("node-fetch"));
6
4
  const prepareRequestBody = (feedback) => {
7
5
  return {
8
6
  fields: [
@@ -24,7 +22,7 @@ const prepareRequestBody = (feedback) => {
24
22
  class HttpsFeedbackPostClient {
25
23
  forgeFeedbackCollectorUrl = 'https://jsd-widget.atlassian.com/api/embeddable/b8a921af-5e55-4b6f-a219-590251ab908f/request?requestTypeId=326';
26
24
  async sendFeedback(feedback) {
27
- return (0, node_fetch_1.default)(this.forgeFeedbackCollectorUrl, {
25
+ return fetch(this.forgeFeedbackCollectorUrl, {
28
26
  method: 'POST',
29
27
  headers: {
30
28
  'Content-Type': 'application/json'
@@ -1 +1 @@
1
- {"version":3,"file":"file-uploader.d.ts","sourceRoot":"","sources":["../../src/http-client/file-uploader.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,gBAAgB,EAAE,MAAM,gBAAgB,CAAC;AAGlD,qBAAa,qBAAsB,SAAQ,KAAK;CAAG;AACnD,qBAAa,uBAAwB,SAAQ,KAAK;CAAG;AACrD,qBAAa,oBAAqB,SAAQ,KAAK;CAAG;AAElD,MAAM,WAAW,YAAY;IAC3B,cAAc,CAAC,GAAG,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;CAC9D;AAkBD,qBAAa,gBAAiB,YAAW,YAAY;IACvC,OAAO,CAAC,QAAQ,CAAC,UAAU;gBAAV,UAAU,EAAE,gBAAgB;IAE5C,cAAc,CAAC,GAAG,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;CAa1E"}
1
+ {"version":3,"file":"file-uploader.d.ts","sourceRoot":"","sources":["../../src/http-client/file-uploader.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,gBAAgB,EAAE,MAAM,gBAAgB,CAAC;AAIlD,qBAAa,qBAAsB,SAAQ,KAAK;CAAG;AACnD,qBAAa,uBAAwB,SAAQ,KAAK;CAAG;AACrD,qBAAa,oBAAqB,SAAQ,KAAK;CAAG;AAElD,MAAM,WAAW,YAAY;IAC3B,cAAc,CAAC,GAAG,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;CAC9D;AAkBD,qBAAa,gBAAiB,YAAW,YAAY;IACvC,OAAO,CAAC,QAAQ,CAAC,UAAU;gBAAV,UAAU,EAAE,gBAAgB;IAE5C,cAAc,CAAC,GAAG,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;CAe1E"}
@@ -1,9 +1,8 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.HttpFileUploader = exports.UploadFileEmptyError = exports.UploadFileNotFoundError = exports.CannotUploadFileError = void 0;
4
- const tslib_1 = require("tslib");
5
- const node_fetch_1 = tslib_1.__importDefault(require("node-fetch"));
6
4
  const ui_1 = require("../ui");
5
+ const node_request_1 = require("./node-request");
7
6
  class CannotUploadFileError extends Error {
8
7
  }
9
8
  exports.CannotUploadFileError = CannotUploadFileError;
@@ -35,12 +34,14 @@ class HttpFileUploader {
35
34
  async uploadFromPath(url, filePath) {
36
35
  const fileContents = this.fileSystem.readBinaryFile(filePath);
37
36
  const validFileContents = validateFileContents(filePath, fileContents);
38
- const response = await (0, node_fetch_1.default)(url, {
37
+ const headers = {
38
+ 'Content-Type': 'application/zip',
39
+ 'Content-Length': validFileContents.length.toString()
40
+ };
41
+ const response = await (0, node_request_1.sendWithNodeRequest)({
39
42
  method: 'PUT',
40
- headers: {
41
- 'Content-Type': 'application/zip',
42
- 'Content-Length': validFileContents.length.toString()
43
- },
43
+ url,
44
+ headers,
44
45
  body: validFileContents
45
46
  });
46
47
  await checkResponse(response);
@@ -1,4 +1,3 @@
1
- import { Response } from 'node-fetch';
2
1
  import { URL } from 'url';
3
2
  export declare class InvalidSiteError extends Error {
4
3
  constructor(url: URL);
@@ -1 +1 @@
1
- {"version":3,"file":"global-edge-http-client.d.ts","sourceRoot":"","sources":["../../src/http-client/global-edge-http-client.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAC;AACtC,OAAO,EAAE,GAAG,EAAE,MAAM,KAAK,CAAC;AAI1B,qBAAa,gBAAiB,SAAQ,KAAK;gBAC7B,GAAG,EAAE,GAAG;CAGrB;AAED,qBAAa,oBAAqB,SAAQ,KAAK;gBACjC,GAAG,EAAE,GAAG;CAGrB;AAED,MAAM,WAAW,KAAK;IACpB,KAAK,EAAE,CAAC,GAAG,EAAE,MAAM,KAAK,OAAO,CAAC,QAAQ,CAAC,CAAC;CAC3C;AAED,MAAM,WAAW,gBAAgB;IAC/B,UAAU,EAAE,CAAC,IAAI,EAAE,GAAG,KAAK,OAAO,CAAC,MAAM,CAAC,CAAC;CAC5C;AAED,qBAAa,oBAAqB,YAAW,gBAAgB;IAC/C,OAAO,CAAC,WAAW;gBAAX,WAAW,EAAE,KAAK;IAEzB,UAAU,CAAC,IAAI,EAAE,GAAG,GAAG,OAAO,CAAC,MAAM,CAAC;IAuBnD,OAAO,CAAC,QAAQ;CAIjB"}
1
+ {"version":3,"file":"global-edge-http-client.d.ts","sourceRoot":"","sources":["../../src/http-client/global-edge-http-client.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,GAAG,EAAE,MAAM,KAAK,CAAC;AAI1B,qBAAa,gBAAiB,SAAQ,KAAK;gBAC7B,GAAG,EAAE,GAAG;CAGrB;AAED,qBAAa,oBAAqB,SAAQ,KAAK;gBACjC,GAAG,EAAE,GAAG;CAGrB;AAED,MAAM,WAAW,KAAK;IACpB,KAAK,EAAE,CAAC,GAAG,EAAE,MAAM,KAAK,OAAO,CAAC,QAAQ,CAAC,CAAC;CAC3C;AAED,MAAM,WAAW,gBAAgB;IAC/B,UAAU,EAAE,CAAC,IAAI,EAAE,GAAG,KAAK,OAAO,CAAC,MAAM,CAAC,CAAC;CAC5C;AAED,qBAAa,oBAAqB,YAAW,gBAAgB;IAC/C,OAAO,CAAC,WAAW;gBAAX,WAAW,EAAE,KAAK;IAEzB,UAAU,CAAC,IAAI,EAAE,GAAG,GAAG,OAAO,CAAC,MAAM,CAAC;IAuBnD,OAAO,CAAC,QAAQ;CAIjB"}
@@ -1,5 +1,6 @@
1
1
  export * from './file-uploader';
2
2
  export * from './global-edge-http-client';
3
3
  export * from './feedback-post-client';
4
+ export * from './node-request';
4
5
  export * from './trace';
5
6
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/http-client/index.ts"],"names":[],"mappings":"AAEA,cAAc,iBAAiB,CAAC;AAChC,cAAc,2BAA2B,CAAC;AAC1C,cAAc,wBAAwB,CAAC;AACvC,cAAc,SAAS,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/http-client/index.ts"],"names":[],"mappings":"AAEA,cAAc,iBAAiB,CAAC;AAChC,cAAc,2BAA2B,CAAC;AAC1C,cAAc,wBAAwB,CAAC;AACvC,cAAc,gBAAgB,CAAC;AAC/B,cAAc,SAAS,CAAC"}
@@ -4,4 +4,5 @@ const tslib_1 = require("tslib");
4
4
  tslib_1.__exportStar(require("./file-uploader"), exports);
5
5
  tslib_1.__exportStar(require("./global-edge-http-client"), exports);
6
6
  tslib_1.__exportStar(require("./feedback-post-client"), exports);
7
+ tslib_1.__exportStar(require("./node-request"), exports);
7
8
  tslib_1.__exportStar(require("./trace"), exports);
@@ -0,0 +1,10 @@
1
+ import http from 'http';
2
+ export declare const toHeaders: (rawHeaders: http.IncomingHttpHeaders) => Headers;
3
+ export declare const sendWithNodeRequest: ({ method, url, headers, body, timeoutMs }: {
4
+ method: string;
5
+ url: string;
6
+ headers?: Record<string, string>;
7
+ body?: Buffer | Uint8Array | string;
8
+ timeoutMs?: number;
9
+ }) => Promise<Response>;
10
+ //# sourceMappingURL=node-request.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"node-request.d.ts","sourceRoot":"","sources":["../../src/http-client/node-request.ts"],"names":[],"mappings":"AAAA,OAAO,IAAI,MAAM,MAAM,CAAC;AAQxB,eAAO,MAAM,SAAS,GAAI,YAAY,IAAI,CAAC,mBAAmB,KAAG,OAYhE,CAAC;AAEF,eAAO,MAAM,mBAAmB,GAAI,2CAMjC;IACD,MAAM,EAAE,MAAM,CAAC;IACf,GAAG,EAAE,MAAM,CAAC;IACZ,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IACjC,IAAI,CAAC,EAAE,MAAM,GAAG,UAAU,GAAG,MAAM,CAAC;IACpC,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB,KAAG,OAAO,CAAC,QAAQ,CAsCnB,CAAC"}
@@ -0,0 +1,57 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.sendWithNodeRequest = exports.toHeaders = void 0;
4
+ const tslib_1 = require("tslib");
5
+ const http_1 = tslib_1.__importDefault(require("http"));
6
+ const https_1 = tslib_1.__importDefault(require("https"));
7
+ const url_1 = require("url");
8
+ const DEFAULT_HTTP_ERROR_STATUS = 500;
9
+ const DEFAULT_NODE_REQUEST_TIMEOUT_MS = 30_000;
10
+ const NO_BODY_STATUS_CODES = new Set([204, 205, 304]);
11
+ const toHeaders = (rawHeaders) => {
12
+ const headers = new Headers();
13
+ Object.entries(rawHeaders).forEach(([key, value]) => {
14
+ if (Array.isArray(value)) {
15
+ value.forEach((headerValue) => headers.append(key, headerValue));
16
+ return;
17
+ }
18
+ if (typeof value === 'string') {
19
+ headers.set(key, value);
20
+ }
21
+ });
22
+ return headers;
23
+ };
24
+ exports.toHeaders = toHeaders;
25
+ const sendWithNodeRequest = ({ method, url, headers, body, timeoutMs = DEFAULT_NODE_REQUEST_TIMEOUT_MS }) => {
26
+ return new Promise((resolve, reject) => {
27
+ const parsedUrl = new url_1.URL(url);
28
+ const transport = parsedUrl.protocol === 'https:' ? https_1.default : http_1.default;
29
+ const request = transport.request(parsedUrl, {
30
+ method,
31
+ headers
32
+ }, (response) => {
33
+ const chunks = [];
34
+ response.on('data', (chunk) => chunks.push(Buffer.isBuffer(chunk) ? chunk : Buffer.from(chunk)));
35
+ response.on('error', reject);
36
+ response.on('end', () => {
37
+ const responseBody = Buffer.concat(chunks).toString('utf8');
38
+ const status = response.statusCode ?? DEFAULT_HTTP_ERROR_STATUS;
39
+ const body = NO_BODY_STATUS_CODES.has(status) ? undefined : responseBody;
40
+ resolve(new Response(body, {
41
+ status,
42
+ statusText: response.statusMessage,
43
+ headers: (0, exports.toHeaders)(response.headers)
44
+ }));
45
+ });
46
+ });
47
+ request.setTimeout(timeoutMs, () => {
48
+ request.destroy(new Error(`Request timed out after ${timeoutMs}ms`));
49
+ });
50
+ request.on('error', reject);
51
+ if (body !== undefined) {
52
+ request.write(body);
53
+ }
54
+ request.end();
55
+ });
56
+ };
57
+ exports.sendWithNodeRequest = sendWithNodeRequest;
@@ -1,3 +1,4 @@
1
- import { Headers } from 'node-fetch';
2
- export declare function getAtlassianTraceId(headers: Headers): string | undefined;
1
+ type HeadersWithGet = Pick<Headers, 'get'>;
2
+ export declare function getAtlassianTraceId(headers: HeadersWithGet): string | undefined;
3
+ export {};
3
4
  //# sourceMappingURL=trace.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"trace.d.ts","sourceRoot":"","sources":["../../src/http-client/trace.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,YAAY,CAAC;AAErC,wBAAgB,mBAAmB,CAAC,OAAO,EAAE,OAAO,GAAG,MAAM,GAAG,SAAS,CAExE"}
1
+ {"version":3,"file":"trace.d.ts","sourceRoot":"","sources":["../../src/http-client/trace.ts"],"names":[],"mappings":"AAAA,KAAK,cAAc,GAAG,IAAI,CAAC,OAAO,EAAE,KAAK,CAAC,CAAC;AAE3C,wBAAgB,mBAAmB,CAAC,OAAO,EAAE,cAAc,GAAG,MAAM,GAAG,SAAS,CAE/E"}
@@ -1 +1 @@
1
- {"version":3,"file":"statsig-service.d.ts","sourceRoot":"","sources":["../../src/service/statsig-service.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"statsig-service.d.ts","sourceRoot":"","sources":["../../src/service/statsig-service.ts"],"names":[],"mappings":"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"}
@@ -2,8 +2,6 @@
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.StatsigService = exports.StatsigReader = void 0;
4
4
  exports.cacheStatsigResult = cacheStatsigResult;
5
- const tslib_1 = require("tslib");
6
- const node_fetch_1 = tslib_1.__importDefault(require("node-fetch"));
7
5
  const index_1 = require("../index");
8
6
  class StatsigReader {
9
7
  async testForgeCliTestGate() {
@@ -131,7 +129,7 @@ class StatsigService extends StatsigReader {
131
129
  const baseURL = this.getEnvironmentFn(BASE_FEATURE_FLAG_SERVICE_URL);
132
130
  const apiKey = this.getEnvironmentFn(STATSIG_API_KEYS);
133
131
  const context = await this.context();
134
- const response = await (0, node_fetch_1.default)(`${baseURL}/frontend/gates`, {
132
+ const response = await fetch(`${baseURL}/frontend/gates`, {
135
133
  headers: {
136
134
  'x-api-key': apiKey,
137
135
  'Content-Type': 'application/json'
@@ -163,7 +161,7 @@ class StatsigService extends StatsigReader {
163
161
  const baseURL = this.getEnvironmentFn(BASE_FEATURE_FLAG_SERVICE_URL);
164
162
  const apiKey = this.getEnvironmentFn(STATSIG_API_KEYS);
165
163
  const context = await this.context();
166
- const response = await (0, node_fetch_1.default)(`${baseURL}/configurations`, {
164
+ const response = await fetch(`${baseURL}/configurations`, {
167
165
  headers: {
168
166
  'x-api-key': apiKey,
169
167
  'Content-Type': 'application/json'
@@ -1 +1 @@
1
- {"version":3,"file":"error-handling.d.ts","sourceRoot":"","sources":["../../src/shared/error-handling.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,OAAO,CAAC;AAK/B,MAAM,MAAM,cAAc,GAAG,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,EAAE,GAAG,OAAO,GAAG,SAAS,CAAC,GAAG;IACrF,WAAW,CAAC,EAAE,OAAO,CAAC;IACtB,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB,CAAC;AAKF,MAAM,WAAW,kBAAkB;IACjC,aAAa,IAAI,cAAc,CAAC;CACjC;AAMD,wBAAgB,WAAW,CAAC,CAAC,EAAE,GAAG,GAAG,OAAO,CAe3C;AAED,wBAAgB,kBAAkB,CAAC,CAAC,EAAE,GAAG,GAAG,cAAc,CAOzD;AAED,qBAAa,SAAU,SAAQ,KAAM,YAAW,kBAAkB;IAE9D,SAAS,CAAC,QAAQ,CAAC,SAAS,CAAC,EAAE,MAAM,GAAG,SAAS;gBAA9B,SAAS,CAAC,EAAE,MAAM,GAAG,SAAS,EACjD,OAAO,CAAC,EAAE,MAAM;IAKX,aAAa,IAAI,cAAc;IAM/B,WAAW,IAAI,OAAO;CAG9B;AAED,qBAAa,SAAU,SAAQ,SAAS;gBAC1B,OAAO,CAAC,EAAE,MAAM,EAAE,SAAS,CAAC,EAAE,MAAM,GAAG,SAAS;IAIrD,WAAW,IAAI,OAAO;CAG9B;AAED,qBAAa,WAAY,SAAQ,SAAS;gBAC5B,OAAO,CAAC,EAAE,MAAM,EAAE,SAAS,CAAC,EAAE,MAAM,GAAG,SAAS;CAG7D;AAUD,MAAM,WAAW,qBAAqB;IACpC,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,MAAM,CAAC,EAAE,MAAM,CAAC;CACjB;AASD,eAAO,MAAM,WAAW,GACtB,QAAQ,MAAM,EACd,OAAO,KAAK,EACZ,OAAO,MAAM,GAAG,IAAI,EACpB,wBAAwB,qBAAqB,KAC5C,OAAO,CAAC,KAAK,CAmCf,CAAC;AAOF,eAAO,MAAM,SAAS,GAAI,OAAO,OAAO,KAAG,KAK1C,CAAC;AASF,wBAAgB,qBAAqB,CAAC,KAAK,EAAE,OAAO,EAAE,WAAW,EAAE,CAAC,OAAO,EAAE,MAAM,KAAK,MAAM,GAAG,KAAK,CAIrG;AAMD,eAAO,MAAM,aAAa,EAAE,CAAC,KAAK,EAAE,OAAO,KAAK,OAAO,CAAC,KAAK,IAAI,KAIhE,CAAC;AAEF,qBAAa,eAAgB,SAAQ,SAAS;CAAG;AAEjD,qBAAa,cAAe,SAAQ,SAAS;CAAG;AAEhD,MAAM,WAAW,kBAAkB;IACjC,gBAAgB,EAAE,IAAI,CAAC;IACvB,IAAI,EAAE,MAAM,CAAC;IACb,UAAU,EAAE,cAAc,CAAC;CAC5B;AAED,qBAAa,uBAAwB,SAAQ,SAAS;CAAG;AAEzD,qBAAa,aAAc,SAAQ,SAAS;IAGxC,OAAO,CAAC,QAAQ,CAAC,UAAU;gBAD3B,OAAO,CAAC,EAAE,MAAM,EACC,UAAU,GAAE,OAAe;IAKvC,WAAW;CAGnB;AAUD,qBAAa,wBAAyB,SAAQ,SAAS;gBAMzC,OAAO,CAAC,EAAE,MAAM;CAG7B;AAUD,qBAAa,mBAAoB,SAAQ,SAAS;gBAMpC,OAAO,CAAC,EAAE,MAAM;CAG7B"}
1
+ {"version":3,"file":"error-handling.d.ts","sourceRoot":"","sources":["../../src/shared/error-handling.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,OAAO,CAAC;AAK/B,MAAM,MAAM,cAAc,GAAG,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,EAAE,GAAG,OAAO,GAAG,SAAS,CAAC,GAAG;IACrF,WAAW,CAAC,EAAE,OAAO,CAAC;IACtB,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB,CAAC;AAKF,MAAM,WAAW,kBAAkB;IACjC,aAAa,IAAI,cAAc,CAAC;CACjC;AA8CD,wBAAgB,WAAW,CAAC,CAAC,EAAE,GAAG,GAAG,OAAO,CAW3C;AAED,wBAAgB,kBAAkB,CAAC,CAAC,EAAE,GAAG,GAAG,cAAc,CAOzD;AAED,qBAAa,SAAU,SAAQ,KAAM,YAAW,kBAAkB;IAE9D,SAAS,CAAC,QAAQ,CAAC,SAAS,CAAC,EAAE,MAAM,GAAG,SAAS;gBAA9B,SAAS,CAAC,EAAE,MAAM,GAAG,SAAS,EACjD,OAAO,CAAC,EAAE,MAAM;IAKX,aAAa,IAAI,cAAc;IAM/B,WAAW,IAAI,OAAO;CAG9B;AAED,qBAAa,SAAU,SAAQ,SAAS;gBAC1B,OAAO,CAAC,EAAE,MAAM,EAAE,SAAS,CAAC,EAAE,MAAM,GAAG,SAAS;IAIrD,WAAW,IAAI,OAAO;CAG9B;AAED,qBAAa,WAAY,SAAQ,SAAS;gBAC5B,OAAO,CAAC,EAAE,MAAM,EAAE,SAAS,CAAC,EAAE,MAAM,GAAG,SAAS;CAG7D;AAUD,MAAM,WAAW,qBAAqB;IACpC,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,MAAM,CAAC,EAAE,MAAM,CAAC;CACjB;AASD,eAAO,MAAM,WAAW,GACtB,QAAQ,MAAM,EACd,OAAO,KAAK,EACZ,OAAO,MAAM,GAAG,IAAI,EACpB,wBAAwB,qBAAqB,KAC5C,OAAO,CAAC,KAAK,CAmCf,CAAC;AAOF,eAAO,MAAM,SAAS,GAAI,OAAO,OAAO,KAAG,KAK1C,CAAC;AASF,wBAAgB,qBAAqB,CAAC,KAAK,EAAE,OAAO,EAAE,WAAW,EAAE,CAAC,OAAO,EAAE,MAAM,KAAK,MAAM,GAAG,KAAK,CAIrG;AAMD,eAAO,MAAM,aAAa,EAAE,CAAC,KAAK,EAAE,OAAO,KAAK,OAAO,CAAC,KAAK,IAAI,KAIhE,CAAC;AAEF,qBAAa,eAAgB,SAAQ,SAAS;CAAG;AAEjD,qBAAa,cAAe,SAAQ,SAAS;CAAG;AAEhD,MAAM,WAAW,kBAAkB;IACjC,gBAAgB,EAAE,IAAI,CAAC;IACvB,IAAI,EAAE,MAAM,CAAC;IACb,UAAU,EAAE,cAAc,CAAC;CAC5B;AAED,qBAAa,uBAAwB,SAAQ,SAAS;CAAG;AAEzD,qBAAa,aAAc,SAAQ,SAAS;IAGxC,OAAO,CAAC,QAAQ,CAAC,UAAU;gBAD3B,OAAO,CAAC,EAAE,MAAM,EACC,UAAU,GAAE,OAAe;IAKvC,WAAW;CAGnB;AAUD,qBAAa,wBAAyB,SAAQ,SAAS;gBAMzC,OAAO,CAAC,EAAE,MAAM;CAG7B;AAUD,qBAAa,mBAAoB,SAAQ,SAAS;gBAMpC,OAAO,CAAC,EAAE,MAAM;CAG7B"}
@@ -11,14 +11,40 @@ const assistant_cli_1 = require("./assistant-cli");
11
11
  function isErrorWithAnalytics(e) {
12
12
  return e.getAttributes !== undefined;
13
13
  }
14
+ const NETWORK_CONNECTIVITY_ERROR_CODES = new Set([
15
+ 'ENOTFOUND',
16
+ 'ECONNRESET',
17
+ 'ECONNREFUSED',
18
+ 'ECONNABORTED',
19
+ 'ENETUNREACH',
20
+ 'EHOSTUNREACH',
21
+ 'EAI_AGAIN',
22
+ 'ETIMEDOUT',
23
+ 'UND_ERR_CONNECT_TIMEOUT',
24
+ 'UND_ERR_HEADERS_TIMEOUT',
25
+ 'UND_ERR_SOCKET'
26
+ ]);
27
+ function isLikelyNetworkError(e) {
28
+ if (!(e instanceof Error)) {
29
+ return false;
30
+ }
31
+ if (e instanceof TypeError && e.message === 'fetch failed') {
32
+ const causeCode = e.cause && typeof e.cause === 'object' && typeof e.cause.code === 'string'
33
+ ? e.cause.code
34
+ : undefined;
35
+ return causeCode ? NETWORK_CONNECTIVITY_ERROR_CODES.has(causeCode) : false;
36
+ }
37
+ if (e.constructor?.name === 'FetchError' && e.type === 'system') {
38
+ return true;
39
+ }
40
+ return false;
41
+ }
14
42
  function isUserError(e) {
15
43
  if (isErrorWithAnalytics(e)) {
16
44
  return e.getAttributes().isUserError ?? false;
17
45
  }
18
- if (e.constructor?.name === 'FetchError') {
19
- if (e.type === 'system') {
20
- return true;
21
- }
46
+ if (isLikelyNetworkError(e)) {
47
+ return true;
22
48
  }
23
49
  return false;
24
50
  }
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@forge/cli-shared",
3
- "version": "9.4.0-next.3",
3
+ "version": "9.4.0-next.4",
4
4
  "description": "Common functionality for Forge CLI",
5
5
  "author": "Atlassian",
6
6
  "license": "SEE LICENSE IN LICENSE.txt",
@@ -39,7 +39,6 @@
39
39
  "inquirer-autocomplete-prompt": "^2.0.1",
40
40
  "io-ts": "^2.2.22",
41
41
  "keytar": "^7.9.0",
42
- "node-fetch": "2.7.0",
43
42
  "ora": "^5.4.1",
44
43
  "recursive-readdir": "^2.2.3",
45
44
  "semver": "^7.6.0",
@@ -66,7 +65,6 @@
66
65
  "@types/inquirer-autocomplete-prompt": "^1.3.5",
67
66
  "@types/jest": "^29.5.14",
68
67
  "@types/node": "20.19.1",
69
- "@types/node-fetch": "^2.6.12",
70
68
  "@types/recursive-readdir": "^2.2.4",
71
69
  "@types/tmp": "^0.2.6",
72
70
  "jest-matcher-specific-error": "^1.0.0",