@twilio/mcs-client 0.5.2 → 0.6.0-canary.18

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.
@@ -31,6 +31,7 @@ Object.defineProperty(exports, '__esModule', { value: true });
31
31
  var operationRetrier = require('@twilio/operation-retrier');
32
32
  var logger = require('../logger.js');
33
33
  var configuration = require('../configuration.js');
34
+ var cancellablePromise = require('../cancellable-promise.js');
34
35
 
35
36
  const log = logger.Logger.scope("Network");
36
37
  class Network {
@@ -45,13 +46,18 @@ class Network {
45
46
  var _a, _b;
46
47
  return ((_b = (_a = this.config.retryWhenThrottledOverride) !== null && _a !== void 0 ? _a : configuration.Configuration.retryWhenThrottledDefault) !== null && _b !== void 0 ? _b : false);
47
48
  }
48
- async executeWithRetry(request, retryWhenThrottled) {
49
- return new Promise((resolve, reject) => {
49
+ executeWithRetry(request, retryWhenThrottled) {
50
+ return new cancellablePromise.CancellablePromise(async (resolve, reject, onCancel) => {
51
+ const retrier = new operationRetrier.Retrier(this.backoffConfig());
52
+ onCancel(() => {
53
+ request.cancel();
54
+ retrier.removeAllListeners();
55
+ retrier.cancel();
56
+ });
50
57
  const codesToRetryOn = [502, 503, 504];
51
58
  if (retryWhenThrottled) {
52
59
  codesToRetryOn.push(429);
53
60
  }
54
- const retrier = new operationRetrier.Retrier(this.backoffConfig());
55
61
  retrier.on("attempt", async () => {
56
62
  try {
57
63
  const result = await request();
@@ -81,20 +87,24 @@ class Network {
81
87
  retrier.start();
82
88
  });
83
89
  }
84
- async get(url) {
85
- const headers = { "X-Twilio-Token": this.config.token };
86
- log.trace("sending GET request to ", url, " headers ", headers);
87
- try {
88
- const response = await this.executeWithRetry(() => this.transport.get(url, headers), this.retryWhenThrottled());
89
- log.trace("response", response);
90
- return response;
91
- }
92
- catch (err) {
93
- log.debug(`get() error ${err}`);
94
- throw err;
95
- }
90
+ get(url) {
91
+ return new cancellablePromise.CancellablePromise(async (resolve, reject, onCancel) => {
92
+ const headers = { "X-Twilio-Token": this.config.token };
93
+ const request = this.executeWithRetry(() => this.transport.get(url, headers), this.retryWhenThrottled());
94
+ log.trace("sending GET request to ", url, " headers ", headers);
95
+ onCancel(() => request.cancel());
96
+ try {
97
+ const response = await request;
98
+ log.trace("response", response);
99
+ resolve(response);
100
+ }
101
+ catch (err) {
102
+ log.debug(`get() error ${err}`);
103
+ reject(err);
104
+ }
105
+ });
96
106
  }
97
- async post(url, category, media, contentType, filename) {
107
+ post(url, category, media, contentType, filename) {
98
108
  const headers = {
99
109
  "X-Twilio-Token": this.config.token,
100
110
  };
@@ -111,22 +121,29 @@ class Network {
111
121
  if (filename) {
112
122
  fullUrl.searchParams.append("Filename", filename);
113
123
  }
114
- let response;
115
- log.trace(`sending POST request to ${url} with headers ${headers}`);
116
- try {
117
- response = await this.transport.post(fullUrl.href, headers, media);
118
- }
119
- catch (err) {
120
- // If global["XMLHttpRequest"] is undefined, it means that the code is
121
- // not being executed in the browser.
122
- if (global["XMLHttpRequest"] === undefined && media instanceof FormData) {
123
- throw new TypeError("Posting FormData supported only with browser engine's FormData");
124
+ return new cancellablePromise.CancellablePromise(async (resolve, reject, onCancel) => {
125
+ const request = this.transport.post(fullUrl.href, headers, media);
126
+ onCancel(() => request.cancel());
127
+ log.trace(`sending POST request to ${url} with headers ${headers}`);
128
+ let response;
129
+ try {
130
+ response = await request;
124
131
  }
125
- log.debug(`post() error ${err}`);
126
- throw err;
127
- }
128
- log.trace("response", response);
129
- return response;
132
+ catch (err) {
133
+ // If global["XMLHttpRequest"] is undefined, it means that the code is
134
+ // not being executed in the browser.
135
+ if (global["XMLHttpRequest"] === undefined &&
136
+ media instanceof FormData) {
137
+ reject(new TypeError("Posting FormData supported only with browser engine's FormData"));
138
+ return;
139
+ }
140
+ log.debug(`post() error ${err}`);
141
+ reject(err);
142
+ return;
143
+ }
144
+ log.trace("response", response);
145
+ resolve(response);
146
+ });
130
147
  }
131
148
  }
132
149
 
@@ -1 +1 @@
1
- {"version":3,"file":"network.js","sources":["../../src/services/network.ts"],"sourcesContent":["import { Retrier } from \"@twilio/operation-retrier\";\nimport { Logger } from \"../logger\";\nimport { Configuration } from \"../configuration\";\nimport { Transport } from \"./transport\";\nimport { MediaCategory } from \"../media\";\n\nconst log = Logger.scope(\"Network\");\n\nclass Network {\n private readonly config: Configuration;\n private readonly transport: Transport;\n\n constructor(config: Configuration, transport: Transport) {\n this.config = config;\n this.transport = transport;\n }\n\n private backoffConfig() {\n return Object.assign(\n Configuration.backoffConfigDefault,\n this.config.backoffConfigOverride\n );\n }\n\n private retryWhenThrottled(): boolean {\n return (\n this.config.retryWhenThrottledOverride ??\n Configuration.retryWhenThrottledDefault ??\n false\n );\n }\n\n private async executeWithRetry(\n request,\n retryWhenThrottled: boolean\n ): Promise<any> {\n return new Promise((resolve, reject) => {\n const codesToRetryOn = [502, 503, 504];\n if (retryWhenThrottled) {\n codesToRetryOn.push(429);\n }\n\n const retrier = new Retrier(this.backoffConfig());\n retrier.on(\"attempt\", async () => {\n try {\n const result = await request();\n retrier.succeeded(result);\n } catch (err) {\n if (codesToRetryOn.indexOf(err.status) > -1) {\n retrier.failed(err);\n } else if (err.message === \"Twilsock disconnected\") {\n // Ugly hack. We must make a proper exceptions for twilsock\n retrier.failed(err);\n } else {\n // Fatal error\n retrier.removeAllListeners();\n retrier.cancel();\n reject(err);\n }\n }\n });\n\n retrier.on(\"succeeded\", (result) => {\n resolve(result);\n });\n retrier.on(\"cancelled\", (err) => reject(err));\n retrier.on(\"failed\", (err) => reject(err));\n\n retrier.start();\n });\n }\n\n public async get(url: string): Promise<any> {\n const headers = { \"X-Twilio-Token\": this.config.token };\n log.trace(\"sending GET request to \", url, \" headers \", headers);\n try {\n const response = await this.executeWithRetry(\n () => this.transport.get(url, headers),\n this.retryWhenThrottled()\n );\n log.trace(\"response\", response);\n return response;\n } catch (err) {\n log.debug(`get() error ${err}`);\n throw err;\n }\n }\n\n public async post(\n url: string,\n category: MediaCategory | null,\n media: string | Buffer | Blob | FormData,\n contentType?: string,\n filename?: string\n ): Promise<any> {\n const headers = {\n \"X-Twilio-Token\": this.config.token,\n };\n\n if (\n (typeof FormData === \"undefined\" || !(media instanceof FormData)) &&\n contentType\n ) {\n Object.assign(headers, {\n \"Content-Type\": contentType,\n });\n }\n\n const fullUrl = new URL(url);\n if (category) {\n fullUrl.searchParams.append(\"Category\", category);\n }\n if (filename) {\n fullUrl.searchParams.append(\"Filename\", filename);\n }\n\n let response;\n log.trace(`sending POST request to ${url} with headers ${headers}`);\n try {\n response = await this.transport.post(fullUrl.href, headers, media);\n } catch (err) {\n // If global[\"XMLHttpRequest\"] is undefined, it means that the code is\n // not being executed in the browser.\n if (global[\"XMLHttpRequest\"] === undefined && media instanceof FormData) {\n throw new TypeError(\n \"Posting FormData supported only with browser engine's FormData\"\n );\n }\n log.debug(`post() error ${err}`);\n throw err;\n }\n log.trace(\"response\", response);\n return response;\n }\n}\n\nexport { Network };\n"],"names":["Logger","Configuration","Retrier"],"mappings":"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"}
1
+ {"version":3,"file":"network.js","sources":["../../src/services/network.ts"],"sourcesContent":["import { Retrier } from \"@twilio/operation-retrier\";\nimport { Logger } from \"../logger\";\nimport { Configuration } from \"../configuration\";\nimport { Transport } from \"./transport\";\nimport { MediaCategory } from \"../media\";\nimport { CancellablePromise } from \"../cancellable-promise\";\n\nconst log = Logger.scope(\"Network\");\n\nclass Network {\n private readonly config: Configuration;\n private readonly transport: Transport;\n\n constructor(config: Configuration, transport: Transport) {\n this.config = config;\n this.transport = transport;\n }\n\n private backoffConfig() {\n return Object.assign(\n Configuration.backoffConfigDefault,\n this.config.backoffConfigOverride\n );\n }\n\n private retryWhenThrottled(): boolean {\n return (\n this.config.retryWhenThrottledOverride ??\n Configuration.retryWhenThrottledDefault ??\n false\n );\n }\n\n private executeWithRetry(\n request,\n retryWhenThrottled: boolean\n ): CancellablePromise<any> {\n return new CancellablePromise(async (resolve, reject, onCancel) => {\n const retrier = new Retrier(this.backoffConfig());\n\n onCancel(() => {\n request.cancel();\n retrier.removeAllListeners();\n retrier.cancel();\n });\n\n const codesToRetryOn = [502, 503, 504];\n if (retryWhenThrottled) {\n codesToRetryOn.push(429);\n }\n\n retrier.on(\"attempt\", async () => {\n try {\n const result = await request();\n retrier.succeeded(result);\n } catch (err) {\n if (codesToRetryOn.indexOf(err.status) > -1) {\n retrier.failed(err);\n } else if (err.message === \"Twilsock disconnected\") {\n // Ugly hack. We must make a proper exceptions for twilsock\n retrier.failed(err);\n } else {\n // Fatal error\n retrier.removeAllListeners();\n retrier.cancel();\n reject(err);\n }\n }\n });\n\n retrier.on(\"succeeded\", (result) => {\n resolve(result);\n });\n retrier.on(\"cancelled\", (err) => reject(err));\n retrier.on(\"failed\", (err) => reject(err));\n\n retrier.start();\n });\n }\n\n public get(url: string): CancellablePromise<any> {\n return new CancellablePromise(async (resolve, reject, onCancel) => {\n const headers = { \"X-Twilio-Token\": this.config.token };\n const request = this.executeWithRetry(\n () => this.transport.get(url, headers),\n this.retryWhenThrottled()\n );\n log.trace(\"sending GET request to \", url, \" headers \", headers);\n\n onCancel(() => request.cancel());\n\n try {\n const response = await request;\n log.trace(\"response\", response);\n resolve(response);\n } catch (err) {\n log.debug(`get() error ${err}`);\n reject(err);\n }\n });\n }\n\n public post(\n url: string,\n category: MediaCategory | null,\n media: string | Buffer | Blob | FormData | Record<string, unknown>,\n contentType?: string,\n filename?: string\n ): CancellablePromise<any> {\n const headers = {\n \"X-Twilio-Token\": this.config.token,\n };\n\n if (\n (typeof FormData === \"undefined\" || !(media instanceof FormData)) &&\n contentType\n ) {\n Object.assign(headers, {\n \"Content-Type\": contentType,\n });\n }\n\n const fullUrl = new URL(url);\n if (category) {\n fullUrl.searchParams.append(\"Category\", category);\n }\n if (filename) {\n fullUrl.searchParams.append(\"Filename\", filename);\n }\n\n return new CancellablePromise(async (resolve, reject, onCancel) => {\n const request = this.transport.post(fullUrl.href, headers, media);\n\n onCancel(() => request.cancel());\n\n log.trace(`sending POST request to ${url} with headers ${headers}`);\n let response;\n try {\n response = await request;\n } catch (err) {\n // If global[\"XMLHttpRequest\"] is undefined, it means that the code is\n // not being executed in the browser.\n if (\n global[\"XMLHttpRequest\"] === undefined &&\n media instanceof FormData\n ) {\n reject(\n new TypeError(\n \"Posting FormData supported only with browser engine's FormData\"\n )\n );\n return;\n }\n log.debug(`post() error ${err}`);\n reject(err);\n return;\n }\n log.trace(\"response\", response);\n resolve(response);\n });\n }\n}\n\nexport { Network };\n"],"names":["Logger","Configuration","CancellablePromise","Retrier"],"mappings":"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"}
@@ -29,6 +29,7 @@ var global =
29
29
  Object.defineProperty(exports, '__esModule', { value: true });
30
30
 
31
31
  var transporterror = require('./transporterror.js');
32
+ var cancellablePromise = require('../cancellable-promise.js');
32
33
 
33
34
  // eslint-disable-next-line
34
35
  const XHR = global["XMLHttpRequest"] || {};
@@ -63,13 +64,18 @@ function extractBody(xhr) {
63
64
  * Provides generic network interface
64
65
  */
65
66
  class Transport {
66
- static async request(method, url, headers, body) {
67
- return new Promise((resolve, reject) => {
67
+ static request(method, url, headers, body) {
68
+ return new cancellablePromise.CancellablePromise((resolve, reject, onCancel) => {
68
69
  const xhr = new XHR();
70
+ let isCancelled = false;
71
+ onCancel(() => {
72
+ xhr.abort();
73
+ isCancelled = true;
74
+ });
69
75
  xhr.open(method, url, true);
70
76
  xhr.onreadystatechange = function onreadystatechange() {
71
77
  var _a;
72
- if (xhr.readyState !== 4) {
78
+ if (xhr.readyState !== 4 || isCancelled) {
73
79
  return;
74
80
  }
75
81
  const headers = parseResponseHeaders(xhr.getAllResponseHeaders());
@@ -104,13 +110,13 @@ class Transport {
104
110
  /**
105
111
  * Make a GET request by given URL
106
112
  */
107
- async get(url, headers) {
113
+ get(url, headers) {
108
114
  return Transport.request("GET", url, headers);
109
115
  }
110
116
  /**
111
117
  * Make a POST request by given URL
112
118
  */
113
- async post(url, headers, body) {
119
+ post(url, headers, body) {
114
120
  return Transport.request("POST", url, headers, body);
115
121
  }
116
122
  }
@@ -1 +1 @@
1
- {"version":3,"file":"transport.js","sources":["../../src/services/transport.ts"],"sourcesContent":["import { TransportError } from \"./transporterror\";\n\n// eslint-disable-next-line\nconst XHR = global[\"XMLHttpRequest\"] || require(\"xmlhttprequest\").XMLHttpRequest;\n\ntype Headers = { [id: string]: string };\n\nfunction parseResponseHeaders(headerString: string): Headers {\n if (!headerString) {\n return {};\n }\n\n return headerString\n .split(\"\\u000d\\u000a\")\n .map((el) => el.split(\"\\u003a\\u0020\"))\n .filter((el) => el.length === 2 && el[1].length > 0)\n .reduce((prev, curr) => {\n prev[curr[0]] = curr[1];\n return prev;\n }, {});\n}\n\nfunction extractBody(xhr) {\n const contentType = xhr.getResponseHeader(\"Content-Type\");\n if (\n !contentType ||\n contentType.indexOf(\"application/json\") !== 0 ||\n xhr.responseText.length === 0\n ) {\n return xhr.responseText;\n }\n\n try {\n return JSON.parse(xhr.responseText);\n } catch (e) {\n return xhr.responseText;\n }\n}\n\nfunction adaptHttpResponse(response: Response) {\n try {\n response.body = JSON.parse(response.body);\n } catch (e) {} // eslint-disable-line no-empty\n return response;\n}\n\ninterface Response {\n status: any;\n headers: Headers;\n body: any;\n}\n\n/**\n * Provides generic network interface\n */\nclass Transport {\n private static async request(\n method: string,\n url: string,\n headers: Headers,\n body?\n ): Promise<Response> {\n return new Promise<Response>((resolve, reject) => {\n const xhr = new XHR();\n xhr.open(method, url, true);\n\n xhr.onreadystatechange = function onreadystatechange() {\n if (xhr.readyState !== 4) {\n return;\n }\n\n const headers = parseResponseHeaders(xhr.getAllResponseHeaders());\n const body = extractBody(xhr);\n\n if (200 <= xhr.status && xhr.status < 300) {\n resolve({ status: xhr.status, headers, body });\n } else {\n const status = xhr.statusText ?? \"NONE\";\n let bodyRepresentation;\n if (typeof body === \"string\") {\n bodyRepresentation =\n body && body.split(\"\\n\", 2).length === 1 ? body : \"\";\n } else {\n bodyRepresentation = JSON.stringify(body);\n }\n const message = `${xhr.status}: [${status}] ${bodyRepresentation}`;\n reject(\n new TransportError(message, xhr.status, body, status, headers)\n );\n }\n };\n\n for (const headerName in headers) {\n xhr.setRequestHeader(headerName, headers[headerName]);\n if (\n headerName === \"Content-Type\" &&\n headers[headerName] === \"application/json\"\n ) {\n body = JSON.stringify(body);\n }\n }\n\n xhr.send(body);\n });\n }\n\n /**\n * Make a GET request by given URL\n */\n public async get(url: string, headers: Headers): Promise<Response> {\n return Transport.request(\"GET\", url, headers);\n }\n\n /**\n * Make a POST request by given URL\n */\n public async post(url: string, headers: Headers, body?): Promise<Response> {\n return Transport.request(\"POST\", url, headers, body);\n }\n}\n\nexport { Headers, Response, Transport };\n"],"names":["TransportError"],"mappings":"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"}
1
+ {"version":3,"file":"transport.js","sources":["../../src/services/transport.ts"],"sourcesContent":["import { TransportError } from \"./transporterror\";\nimport { CancellablePromise } from \"../cancellable-promise\";\n\n// eslint-disable-next-line\nconst XHR = global[\"XMLHttpRequest\"] || require(\"xmlhttprequest\").XMLHttpRequest;\n\ntype Headers = { [id: string]: string };\n\nfunction parseResponseHeaders(headerString: string): Headers {\n if (!headerString) {\n return {};\n }\n\n return headerString\n .split(\"\\u000d\\u000a\")\n .map((el) => el.split(\"\\u003a\\u0020\"))\n .filter((el) => el.length === 2 && el[1].length > 0)\n .reduce((prev, curr) => {\n prev[curr[0]] = curr[1];\n return prev;\n }, {});\n}\n\nfunction extractBody(xhr) {\n const contentType = xhr.getResponseHeader(\"Content-Type\");\n if (\n !contentType ||\n contentType.indexOf(\"application/json\") !== 0 ||\n xhr.responseText.length === 0\n ) {\n return xhr.responseText;\n }\n\n try {\n return JSON.parse(xhr.responseText);\n } catch (e) {\n return xhr.responseText;\n }\n}\n\nfunction adaptHttpResponse(response: Response) {\n try {\n response.body = JSON.parse(response.body);\n } catch (e) {} // eslint-disable-line no-empty\n return response;\n}\n\ninterface Response {\n status: any;\n headers: Headers;\n body: any;\n}\n\n/**\n * Provides generic network interface\n */\nclass Transport {\n private static request(\n method: string,\n url: string,\n headers: Headers,\n body?\n ): CancellablePromise<Response> {\n return new CancellablePromise<Response>((resolve, reject, onCancel) => {\n const xhr = new XHR();\n let isCancelled = false;\n\n onCancel(() => {\n xhr.abort();\n isCancelled = true;\n });\n\n xhr.open(method, url, true);\n\n xhr.onreadystatechange = function onreadystatechange() {\n if (xhr.readyState !== 4 || isCancelled) {\n return;\n }\n\n const headers = parseResponseHeaders(xhr.getAllResponseHeaders());\n const body = extractBody(xhr);\n\n if (200 <= xhr.status && xhr.status < 300) {\n resolve({ status: xhr.status, headers, body });\n } else {\n const status = xhr.statusText ?? \"NONE\";\n let bodyRepresentation;\n if (typeof body === \"string\") {\n bodyRepresentation =\n body && body.split(\"\\n\", 2).length === 1 ? body : \"\";\n } else {\n bodyRepresentation = JSON.stringify(body);\n }\n const message = `${xhr.status}: [${status}] ${bodyRepresentation}`;\n reject(\n new TransportError(message, xhr.status, body, status, headers)\n );\n }\n };\n\n for (const headerName in headers) {\n xhr.setRequestHeader(headerName, headers[headerName]);\n if (\n headerName === \"Content-Type\" &&\n headers[headerName] === \"application/json\"\n ) {\n body = JSON.stringify(body);\n }\n }\n\n xhr.send(body);\n });\n }\n\n /**\n * Make a GET request by given URL\n */\n public get(url: string, headers: Headers): CancellablePromise<Response> {\n return Transport.request(\"GET\", url, headers);\n }\n\n /**\n * Make a POST request by given URL\n */\n public post(\n url: string,\n headers: Headers,\n body?\n ): CancellablePromise<Response> {\n return Transport.request(\"POST\", url, headers, body);\n }\n}\n\nexport { Headers, Response, Transport };\n"],"names":["CancellablePromise","TransportError"],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"transporterror.js","sources":["../../src/services/transporterror.ts"],"sourcesContent":["class TransportError extends Error {\n public readonly code: number;\n public readonly body: any;\n public readonly status: string;\n public readonly headers: any;\n\n constructor(\n message: string,\n code: number,\n body: any,\n status: string,\n headers: any\n ) {\n super(message);\n this.code = code;\n this.body = body;\n this.status = status;\n this.headers = headers;\n }\n}\n\nexport { TransportError };\n"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,MAAM,cAAe,SAAQ,KAAK;IAMhC,YACE,OAAe,EACf,IAAY,EACZ,IAAS,EACT,MAAc,EACd,OAAY;QAEZ,KAAK,CAAC,OAAO,CAAC,CAAC;QACf,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC;QACjB,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC;QACjB,IAAI,CAAC,MAAM,GAAG,MAAM,CAAC;QACrB,IAAI,CAAC,OAAO,GAAG,OAAO,CAAC;KACxB;;;;;"}
1
+ {"version":3,"file":"transporterror.js","sources":["../../src/services/transporterror.ts"],"sourcesContent":["class TransportError extends Error {\n public readonly code: number;\n public readonly body: any;\n public readonly status: string;\n public readonly headers: any;\n\n constructor(\n message: string,\n code: number,\n body: any,\n status: string,\n headers: any\n ) {\n super(message);\n this.code = code;\n this.body = body;\n this.status = status;\n this.headers = headers;\n }\n}\n\nexport { TransportError };\n"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,MAAM,cAAe,SAAQ,KAAK,CAAA;IAMhC,WACE,CAAA,OAAe,EACf,IAAY,EACZ,IAAS,EACT,MAAc,EACd,OAAY,EAAA;QAEZ,KAAK,CAAC,OAAO,CAAC,CAAC;AACf,QAAA,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC;AACjB,QAAA,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC;AACjB,QAAA,IAAI,CAAC,MAAM,GAAG,MAAM,CAAC;AACrB,QAAA,IAAI,CAAC,OAAO,GAAG,OAAO,CAAC;KACxB;AACF;;;;"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@twilio/mcs-client",
3
- "version": "0.5.2",
3
+ "version": "0.6.0-canary.18+b6d25ce",
4
4
  "description": "Twilio Media Content Service client library",
5
5
  "license": "MIT",
6
6
  "author": "Twilio",
@@ -25,28 +25,29 @@
25
25
  "test:integration": "env FORCE_COLOR=1 NODE_ENV=test npx jest test/integration",
26
26
  "build": "npx rollup -c",
27
27
  "ssri": "yarn ssri:bundle && yarn ssri:min",
28
- "ssri:bundle": "openssl dgst -sha256 -binary ./builds/twilio-mcs-client.js | openssl base64 -A | (printf \"sha256-\" && cat) > ./builds/twilio-conversations.sri",
29
- "ssri:min": "openssl dgst -sha256 -binary ./builds/twilio-mcs-client.min.js | openssl base64 -A | (printf \"sha256-\" && cat) > ./builds/twilio-conversations.min.sri",
28
+ "ssri:bundle": "openssl dgst -sha256 -binary ./builds/twilio-mcs-client.js | openssl base64 -A | (printf \"sha256-\" && cat) | tee ./builds/twilio-mcs-client.sri",
29
+ "ssri:min": "openssl dgst -sha256 -binary ./builds/twilio-mcs-client.min.js | openssl base64 -A | (printf \"sha256-\" && cat) | tee ./builds/twilio-mcs-client.min.sri",
30
30
  "sourceMapReport": "yarn sourceMapReport:html && sourceMapReport:json",
31
31
  "sourceMapReport:html": "npx source-map-explorer@2.5.2 ./builds/lib.js --html ./builds/lib.report.html",
32
32
  "sourceMapReport:json": "npx source-map-explorer@2.5.2 ./builds/lib.js --json ./builds/lib.report.json",
33
33
  "ci": "yarn clean && yarn lint && yarn build && yarn ssri"
34
34
  },
35
35
  "dependencies": {
36
- "@babel/runtime": "^7.14.5",
37
- "@twilio/declarative-type-validator": "^0.1.10",
38
- "@twilio/operation-retrier": "^4.0.6",
36
+ "@babel/runtime": "^7.17.0",
37
+ "@twilio/declarative-type-validator": "^0.1.12-canary.37+b6d25ce",
38
+ "@twilio/operation-retrier": "^4.0.8-canary.37+b6d25ce",
39
39
  "core-js": "^3.17.3",
40
40
  "loglevel": "^1.7.1",
41
41
  "xmlhttprequest": "^1.8.0"
42
42
  },
43
43
  "devDependencies": {
44
- "@babel/core": "^7.14.5",
45
- "@babel/preset-env": "^7.14.5",
46
- "@babel/preset-typescript": "^7.14.5",
44
+ "@babel/core": "^7.17.0",
45
+ "@babel/plugin-transform-runtime": "^7.17.0",
46
+ "@babel/preset-env": "^7.16.11",
47
+ "@babel/preset-typescript": "^7.16.7",
47
48
  "@rollup/plugin-commonjs": "^19.0.0",
48
49
  "@rollup/plugin-json": "^4.1.0",
49
- "@rollup/plugin-node-resolve": "^13.0.0",
50
+ "@rollup/plugin-node-resolve": "^13.2.1",
50
51
  "@rollup/plugin-replace": "^3.0.0",
51
52
  "@types/express": "^4.17.7",
52
53
  "@types/jest": "^26.0.23",
@@ -69,16 +70,18 @@
69
70
  "jsdoc-strip-async-await": "^0.1.0",
70
71
  "ngrok": "^3.2.5",
71
72
  "prettier": "^2.3.0",
72
- "rollup": "^2.51.1",
73
- "rollup-plugin-polyfill-node": "^0.6.2",
73
+ "rollup": "^2.70.2",
74
+ "rollup-plugin-polyfill-node": "^0.9.0",
74
75
  "rollup-plugin-terser": "^7.0.2",
75
- "rollup-plugin-ts": "^1.4.0",
76
+ "rollup-plugin-ts": "^2.0.7",
76
77
  "ts-jest": "^27.0.2",
77
78
  "ts-node": "^8.3.0",
79
+ "tslib": "^2.4.0",
78
80
  "twilio": "^3.55.0",
79
81
  "typescript": "^4.3.2"
80
82
  },
81
83
  "engines": {
82
84
  "node": ">=14"
83
- }
85
+ },
86
+ "gitHead": "b6d25cecb08ab4e0d369430b90a786e1b275af91"
84
87
  }
package/CHANGELOG.md DELETED
@@ -1,193 +0,0 @@
1
- # Change Log
2
-
3
- All notable changes to this project will be documented in this file.
4
- See [Conventional Commits](https://conventionalcommits.org) for commit guidelines.
5
-
6
- ### [0.5.2](https://github.com/twilio/rtd-sdk-monorepo-js/compare/@twilio/mcs-client@0.5.2-rc.4...@twilio/mcs-client@0.5.2) (2021-11-25)
7
-
8
- **Note:** Version bump only for package @twilio/mcs-client
9
-
10
-
11
-
12
-
13
-
14
- ### [0.5.2-rc.4](https://github.com/twilio/rtd-sdk-monorepo-js/compare/@twilio/mcs-client@0.5.2-rc.3...@twilio/mcs-client@0.5.2-rc.4) (2021-11-12)
15
-
16
- **Note:** Version bump only for package @twilio/mcs-client
17
-
18
-
19
-
20
-
21
-
22
- ### [0.5.2-rc.3](https://github.com/twilio/rtd-sdk-monorepo-js/compare/@twilio/mcs-client@0.5.2-rc.2...@twilio/mcs-client@0.5.2-rc.3) (2021-11-11)
23
-
24
-
25
- ### Bug Fixes
26
-
27
- * Remove the post-install script in favour of the "react-native" option ([0fe352d](https://github.com/twilio/rtd-sdk-monorepo-js/commit/0fe352d45e50cec78e880affee589009055d5338))
28
-
29
-
30
-
31
- ### [0.5.2-rc.2](https://github.com/twilio/rtd-sdk-monorepo-js/compare/@twilio/mcs-client@0.5.2-rc.1...@twilio/mcs-client@0.5.2-rc.2) (2021-11-10)
32
-
33
-
34
- ### Bug Fixes
35
-
36
- * Fix the post-install script (yet again) ([c8cb1ee](https://github.com/twilio/rtd-sdk-monorepo-js/commit/c8cb1ee501d1c793497985592d2c1ae97162a219))
37
-
38
-
39
-
40
- ### [0.5.2-rc.1](https://github.com/twilio/rtd-sdk-monorepo-js/compare/@twilio/mcs-client@0.5.2-rc.0...@twilio/mcs-client@0.5.2-rc.1) (2021-11-09)
41
-
42
-
43
- ### Bug Fixes
44
-
45
- * Fix the post-install script to be runnable cross-platform ([a16eede](https://github.com/twilio/rtd-sdk-monorepo-js/commit/a16eede598dd3dbdda1997fbd2033fa2254f113f))
46
-
47
-
48
-
49
- ### [0.5.2-rc.0](https://github.com/twilio/rtd-sdk-monorepo-js/compare/@twilio/mcs-client@0.5.1...@twilio/mcs-client@0.5.2-rc.0) (2021-10-26)
50
-
51
-
52
- ### Bug Fixes
53
-
54
- * Bump Node required version to current LTS (14) ([ee272b3](https://github.com/twilio/rtd-sdk-monorepo-js/commit/ee272b350f4556a454a18a8aa192c37b54aaaeeb))
55
-
56
-
57
-
58
- ### [0.5.1](https://github.com/twilio/rtd-sdk-monorepo-js/compare/@twilio/mcs-client@0.5.1-rc.12...@twilio/mcs-client@0.5.1) (2021-10-19)
59
-
60
- **Note:** Version bump only for package @twilio/mcs-client
61
-
62
-
63
-
64
-
65
-
66
- ### [0.5.1-rc.12](https://github.com/twilio/rtd-sdk-monorepo-js/compare/@twilio/mcs-client@0.5.1-rc.11...@twilio/mcs-client@0.5.1-rc.12) (2021-09-23)
67
-
68
- **Note:** Version bump only for package @twilio/mcs-client
69
-
70
-
71
-
72
-
73
-
74
- ### [0.5.1-rc.11](https://github.com/twilio/rtd-sdk-monorepo-js/compare/@twilio/mcs-client@0.5.1-rc.10...@twilio/mcs-client@0.5.1-rc.11) (2021-09-12)
75
-
76
-
77
- ### Bug Fixes
78
-
79
- * Fix the removal of node-js libs from React Native bundles ([317a19a](https://github.com/twilio/rtd-sdk-monorepo-js/commit/317a19a013e3fe51b67864efab75459dafb312a8))
80
-
81
-
82
-
83
- ### [0.5.1-rc.10](https://github.com/twilio/rtd-sdk-monorepo-js/compare/@twilio/mcs-client@0.5.1-rc.9...@twilio/mcs-client@0.5.1-rc.10) (2021-09-12)
84
-
85
- **Note:** Version bump only for package @twilio/mcs-client
86
-
87
-
88
-
89
-
90
-
91
- ### [0.5.1-rc.9](https://github.com/twilio/rtd-sdk-monorepo-js/compare/@twilio/mcs-client@0.5.1-rc.8...@twilio/mcs-client@0.5.1-rc.9) (2021-09-12)
92
-
93
- **Note:** Version bump only for package @twilio/mcs-client
94
-
95
-
96
-
97
-
98
-
99
- ### [0.5.1-rc.8](https://github.com/twilio/rtd-sdk-monorepo-js/compare/@twilio/mcs-client@0.5.1-rc.7...@twilio/mcs-client@0.5.1-rc.8) (2021-09-12)
100
-
101
- **Note:** Version bump only for package @twilio/mcs-client
102
-
103
-
104
-
105
-
106
-
107
- ### [0.5.1-rc.7](https://github.com/twilio/rtd-sdk-monorepo-js/compare/@twilio/mcs-client@0.5.1-rc.6...@twilio/mcs-client@0.5.1-rc.7) (2021-09-12)
108
-
109
- **Note:** Version bump only for package @twilio/mcs-client
110
-
111
-
112
-
113
-
114
-
115
- ### [0.5.1-rc.6](https://github.com/twilio/rtd-sdk-monorepo-js/compare/@twilio/mcs-client@0.5.1-rc.4...@twilio/mcs-client@0.5.1-rc.6) (2021-09-12)
116
-
117
- **Note:** Version bump only for package @twilio/mcs-client
118
-
119
-
120
-
121
-
122
-
123
- ### [0.5.1-rc.5](https://github.com/twilio/rtd-sdk-monorepo-js/compare/@twilio/mcs-client@0.5.1-rc.4...@twilio/mcs-client@0.5.1-rc.5) (2021-09-12)
124
-
125
- **Note:** Version bump only for package @twilio/mcs-client
126
-
127
-
128
-
129
-
130
-
131
- ### [0.5.1-rc.4](https://github.com/twilio/rtd-sdk-monorepo-js/compare/@twilio/mcs-client@0.5.1-rc.3...@twilio/mcs-client@0.5.1-rc.4) (2021-09-10)
132
-
133
- **Note:** Version bump only for package @twilio/mcs-client
134
-
135
-
136
-
137
-
138
-
139
- ### [0.5.1-rc.3](https://github.com/twilio/rtd-sdk-monorepo-js/compare/@twilio/mcs-client@0.5.1-rc.2...@twilio/mcs-client@0.5.1-rc.3) (2021-09-10)
140
-
141
- **Note:** Version bump only for package @twilio/mcs-client
142
-
143
-
144
-
145
-
146
-
147
- ### [0.5.1-rc.2](https://github.com/twilio/rtd-sdk-monorepo-js/compare/@twilio/mcs-client@0.5.1-rc.1...@twilio/mcs-client@0.5.1-rc.2) (2021-09-09)
148
-
149
-
150
- ### Bug Fixes
151
-
152
- * Remove require('xmlhttprequest') from browser bundles ([0399152](https://github.com/twilio/rtd-sdk-monorepo-js/commit/03991522ec0abc8b2e456673aa4256a96af0f6b7))
153
-
154
-
155
-
156
- ### [0.5.1-rc.1](https://github.com/twilio/rtd-sdk-monorepo-js/compare/@twilio/mcs-client@0.5.1-rc.0...@twilio/mcs-client@0.5.1-rc.1) (2021-09-09)
157
-
158
-
159
- ### Bug Fixes
160
-
161
- * Add a browser shim for Node's global ([0de6b0e](https://github.com/twilio/rtd-sdk-monorepo-js/commit/0de6b0e5bab1270f894ba2c5cd00476f61dab498))
162
-
163
-
164
-
165
- ### [0.5.1-rc.0](https://github.com/twilio/rtd-sdk-monorepo-js/compare/@twilio/mcs-client@0.5.0...@twilio/mcs-client@0.5.1-rc.0) (2021-09-07)
166
-
167
- **Note:** Version bump only for package @twilio/mcs-client
168
-
169
-
170
-
171
-
172
-
173
- ## [0.5.0](https://github.com/twilio/rtd-sdk-monorepo-js/compare/@twilio/mcs-client@0.5.0-rc.1...@twilio/mcs-client@0.5.0) (2021-08-04)
174
-
175
- **Note:** Version bump only for package @twilio/mcs-client
176
-
177
-
178
-
179
-
180
-
181
- ## 0.5.0-rc.1 (2021-08-03)
182
-
183
-
184
- ### Bug Fixes
185
-
186
- * Fix rollup config paths ([ec3f6f3](https://github.com/twilio/rtd-sdk-monorepo-js/commit/ec3f6f362d85eedb94d2ad8330ce66d14175d8e4))
187
- * Update packages versions ([812ec45](https://github.com/twilio/rtd-sdk-monorepo-js/commit/812ec45459d680ca1d0bdccdbae0bfaf4b6639cc))
188
-
189
-
190
-
191
- ## 0.5.0-rc.0 (2021-07-30)
192
-
193
- **Note:** Version bump only for package @twilio/mcs-client