From 88a219c768cae8d818fac587a0d04c7864a35e6c Mon Sep 17 00:00:00 2001 From: Christopher Radek Date: Tue, 20 Jul 2021 11:32:15 -0700 Subject: [PATCH 01/12] [react-native] add react-native mapping to core packages that also have browser mappings --- sdk/core/core-amqp/package.json | 3 +++ sdk/core/core-client-paging-rest/package.json | 3 +++ sdk/core/core-client-rest/package.json | 3 +++ sdk/core/core-client/package.json | 3 +++ sdk/core/core-crypto/package.json | 3 +++ sdk/core/core-http/package.json | 3 +++ sdk/core/core-lro/package.json | 3 +++ sdk/core/core-rest-pipeline/package.json | 4 ++++ sdk/core/core-tracing/package.json | 3 +++ sdk/core/core-util/package.json | 3 +++ sdk/core/core-xml/package.json | 3 +++ sdk/core/logger/package.json | 3 +++ 12 files changed, 37 insertions(+) diff --git a/sdk/core/core-amqp/package.json b/sdk/core/core-amqp/package.json index 855b933b49a4..c0bc47cc07c3 100644 --- a/sdk/core/core-amqp/package.json +++ b/sdk/core/core-amqp/package.json @@ -25,6 +25,9 @@ "./dist-esm/src/util/runtimeInfo.js": "./dist-esm/src/util/runtimeInfo.browser.js", "buffer": "buffer" }, + "react-native": { + "./dist/index.js": "./dist-esm/src/index.js" + }, "files": [ "dist/", "dist-esm/src/", diff --git a/sdk/core/core-client-paging-rest/package.json b/sdk/core/core-client-paging-rest/package.json index 1ed916031ac8..b49c9fac60f4 100644 --- a/sdk/core/core-client-paging-rest/package.json +++ b/sdk/core/core-client-paging-rest/package.json @@ -9,6 +9,9 @@ "browser": { "./dist-esm/src/url.js": "./dist-esm/src/url.browser.js" }, + "react-native": { + "./dist/index.js": "./dist-esm/src/index.js" + }, "scripts": { "audit": "node ../../../common/scripts/rush-audit.js && rimraf node_modules package-lock.json && npm i --package-lock-only 2>&1 && npm audit", "build:samples": "echo Obsolete", diff --git a/sdk/core/core-client-rest/package.json b/sdk/core/core-client-rest/package.json index b79e25f0e7da..207567585d2b 100644 --- a/sdk/core/core-client-rest/package.json +++ b/sdk/core/core-client-rest/package.json @@ -8,6 +8,9 @@ "browser": { "./dist-esm/src/url.js": "./dist-esm/src/url.browser.js" }, + "react-native": { + "./dist/index.js": "./dist-esm/src/index.js" + }, "types": "types/latest/core-client-rest.d.ts", "scripts": { "audit": "node ../../../common/scripts/rush-audit.js && rimraf node_modules package-lock.json && npm i --package-lock-only 2>&1 && npm audit", diff --git a/sdk/core/core-client/package.json b/sdk/core/core-client/package.json index f270079c66c6..9caaa96ea62c 100644 --- a/sdk/core/core-client/package.json +++ b/sdk/core/core-client/package.json @@ -8,6 +8,9 @@ "browser": { "./dist-esm/src/base64.js": "./dist-esm/src/base64.browser.js" }, + "react-native": { + "./dist/index.js": "./dist-esm/src/index.js" + }, "types": "types/latest/core-client.d.ts", "typesVersions": { "<3.6": { diff --git a/sdk/core/core-crypto/package.json b/sdk/core/core-crypto/package.json index b7f01ffffc47..a911ac5bfc30 100644 --- a/sdk/core/core-crypto/package.json +++ b/sdk/core/core-crypto/package.json @@ -8,6 +8,9 @@ "browser": { "./dist-esm/src/sha256.js": "./dist-esm/src/sha256.browser.js" }, + "react-native": { + "./dist/index.js": "./dist-esm/src/index.js" + }, "types": "types/latest/core-crypto.d.ts", "typesVersions": { "<3.6": { diff --git a/sdk/core/core-http/package.json b/sdk/core/core-http/package.json index 834eab5575a9..1d582c2363f0 100644 --- a/sdk/core/core-http/package.json +++ b/sdk/core/core-http/package.json @@ -56,6 +56,9 @@ "./dist-esm/src/util/inspect.js": "./dist-esm/src/util/inspect.browser.js", "./dist-esm/src/util/url.js": "./dist-esm/src/util/url.browser.js" }, + "react-native": { + "./dist/index.js": "./dist-esm/src/index.js" + }, "license": "MIT", "homepage": "https://github.com/Azure/azure-sdk-for-js/blob/main/sdk/core/core-http/README.md", "repository": "github:Azure/azure-sdk-for-js", diff --git a/sdk/core/core-lro/package.json b/sdk/core/core-lro/package.json index 15bb28d8ea21..dd55e120cc3b 100644 --- a/sdk/core/core-lro/package.json +++ b/sdk/core/core-lro/package.json @@ -41,6 +41,9 @@ "os": false, "process": false }, + "react-native": { + "./dist/index.js": "./dist-esm/src/index.js" + }, "license": "MIT", "homepage": "https://github.com/Azure/azure-sdk-for-js/blob/main/sdk/core/core-lro/README.md", "repository": "github:Azure/azure-sdk-for-js", diff --git a/sdk/core/core-rest-pipeline/package.json b/sdk/core/core-rest-pipeline/package.json index 769a30e6eb61..e83a78ecd522 100644 --- a/sdk/core/core-rest-pipeline/package.json +++ b/sdk/core/core-rest-pipeline/package.json @@ -14,6 +14,10 @@ "./dist-esm/src/util/url.js": "./dist-esm/src/util/url.browser.js", "./dist-esm/src/util/userAgentPlatform.js": "./dist-esm/src/util/userAgentPlatform.browser.js" }, + "react-native": { + "./dist/index.js": "./dist-esm/src/index.js", + "./dist-esm/src/util/userAgentPlatform.js": "./dist-esm/src/util/userAgentPlatform.native.js" + }, "types": "core-rest-pipeline.shims.d.ts", "typesVersions": { "<3.6": { diff --git a/sdk/core/core-tracing/package.json b/sdk/core/core-tracing/package.json index da6f929ce675..7e00510cfc35 100644 --- a/sdk/core/core-tracing/package.json +++ b/sdk/core/core-tracing/package.json @@ -8,6 +8,9 @@ "browser": { "./dist-esm/src/utils/global.js": "./dist-esm/src/utils/global.browser.js" }, + "react-native": { + "./dist/index.js": "./dist-esm/src/index.js" + }, "types": "types/core-tracing.d.ts", "scripts": { "audit": "node ../../../common/scripts/rush-audit.js && rimraf node_modules package-lock.json && npm i --package-lock-only 2>&1 && npm audit", diff --git a/sdk/core/core-util/package.json b/sdk/core/core-util/package.json index f86c881c4eb0..f625aaf9338f 100644 --- a/sdk/core/core-util/package.json +++ b/sdk/core/core-util/package.json @@ -8,6 +8,9 @@ "browser": { "./dist-esm/src/isNode.js": "./dist-esm/src/isNode.browser.js" }, + "react-native": { + "./dist/index.js": "./dist-esm/src/index.js" + }, "types": "types/latest/core-util.d.ts", "typesVersions": { "<3.6": { diff --git a/sdk/core/core-xml/package.json b/sdk/core/core-xml/package.json index bd8ac06030ee..3f9c3f42c47e 100644 --- a/sdk/core/core-xml/package.json +++ b/sdk/core/core-xml/package.json @@ -8,6 +8,9 @@ "browser": { "./dist-esm/src/xml.js": "./dist-esm/src/xml.browser.js" }, + "react-native": { + "./dist/index.js": "./dist-esm/src/index.js" + }, "types": "types/latest/core-xml.d.ts", "typesVersions": { "<3.6": { diff --git a/sdk/core/logger/package.json b/sdk/core/logger/package.json index 843fe6aa62c7..61c13e7062f6 100644 --- a/sdk/core/logger/package.json +++ b/sdk/core/logger/package.json @@ -9,6 +9,9 @@ "./dist-esm/src/log.js": "./dist-esm/src/log.browser.js", "process": false }, + "react-native": { + "./dist/index.js": "./dist-esm/src/index.js" + }, "engines": { "node": ">=12.0.0" }, From 5b57c649df52ce6faf79108f75c92e0913054d70 Mon Sep 17 00:00:00 2001 From: Christopher Radek Date: Wed, 21 Jul 2021 09:42:01 -0700 Subject: [PATCH 02/12] [react-native] add react-native friendly userAgentPlatform utilitie --- .../src/util/userAgentPlatform.native.ts | 23 +++++++++++++++++++ 1 file changed, 23 insertions(+) create mode 100644 sdk/core/core-rest-pipeline/src/util/userAgentPlatform.native.ts diff --git a/sdk/core/core-rest-pipeline/src/util/userAgentPlatform.native.ts b/sdk/core/core-rest-pipeline/src/util/userAgentPlatform.native.ts new file mode 100644 index 000000000000..b201252ad2c0 --- /dev/null +++ b/sdk/core/core-rest-pipeline/src/util/userAgentPlatform.native.ts @@ -0,0 +1,23 @@ +// Copyright (c) Microsoft Corporation. +// Licensed under the MIT license. + +/* + * NOTE: When moving this file, please update "browser" section in package.json. + */ + +/** + * @internal + */ +export function getHeaderName(): string { + return "x-ms-useragent"; +} + +/** + * @internal + */ +export function setPlatformSpecificData(map: Map): void { + // TODO: Investigate using `import { Platform } from "react-native"` to get "OS" and "Version". + // This may bring in a lot of overhead if we have to use this package directly, perhaps we can shim + // types. + map.set("OS", `react-native`); +} From e9919b939d6b1f3792fee96911deb5e8f4d0f123 Mon Sep 17 00:00:00 2001 From: Christopher Radek Date: Fri, 17 Sep 2021 13:50:33 -0700 Subject: [PATCH 03/12] [core-crypto] use WebCrypto pollyfill-friendly API flavor --- sdk/core/core-crypto/src/sha256.browser.ts | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/sdk/core/core-crypto/src/sha256.browser.ts b/sdk/core/core-crypto/src/sha256.browser.ts index 26653fc90a80..838cb718a32b 100644 --- a/sdk/core/core-crypto/src/sha256.browser.ts +++ b/sdk/core/core-crypto/src/sha256.browser.ts @@ -67,7 +67,7 @@ export async function computeSha256Hash( encoding: "base64" | "hex" ): Promise { const contentBytes = utf8ToBytes(content); - const digest = await getCrypto().digest("SHA-256", contentBytes); + const digest = await getCrypto().digest({name: "SHA-256"}, contentBytes); switch (encoding) { case "base64": From 2d48ab41924417526eecabee6159aabbc5014ed2 Mon Sep 17 00:00:00 2001 From: Christopher Radek Date: Wed, 29 Sep 2021 12:34:43 -0700 Subject: [PATCH 04/12] [core-http] revert react-native mapping in package.json --- sdk/core/core-http/package.json | 3 --- 1 file changed, 3 deletions(-) diff --git a/sdk/core/core-http/package.json b/sdk/core/core-http/package.json index 1d582c2363f0..834eab5575a9 100644 --- a/sdk/core/core-http/package.json +++ b/sdk/core/core-http/package.json @@ -56,9 +56,6 @@ "./dist-esm/src/util/inspect.js": "./dist-esm/src/util/inspect.browser.js", "./dist-esm/src/util/url.js": "./dist-esm/src/util/url.browser.js" }, - "react-native": { - "./dist/index.js": "./dist-esm/src/index.js" - }, "license": "MIT", "homepage": "https://github.com/Azure/azure-sdk-for-js/blob/main/sdk/core/core-http/README.md", "repository": "github:Azure/azure-sdk-for-js", From 7425dc8a4e1ebb39f32b9df66b79971946edd31f Mon Sep 17 00:00:00 2001 From: Christopher Radek Date: Wed, 29 Sep 2021 12:38:12 -0700 Subject: [PATCH 05/12] [core-rest-pipeline] fix comment about updating package.json --- .../core-rest-pipeline/src/util/userAgentPlatform.native.ts | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/sdk/core/core-rest-pipeline/src/util/userAgentPlatform.native.ts b/sdk/core/core-rest-pipeline/src/util/userAgentPlatform.native.ts index b201252ad2c0..23fbb519cbbd 100644 --- a/sdk/core/core-rest-pipeline/src/util/userAgentPlatform.native.ts +++ b/sdk/core/core-rest-pipeline/src/util/userAgentPlatform.native.ts @@ -2,7 +2,7 @@ // Licensed under the MIT license. /* - * NOTE: When moving this file, please update "browser" section in package.json. + * NOTE: When moving this file, please update "react-native" section in package.json. */ /** From 5db944c5ef07573f32daf3bd290b129f0211be3e Mon Sep 17 00:00:00 2001 From: Christopher Radek Date: Wed, 29 Sep 2021 12:38:22 -0700 Subject: [PATCH 06/12] [core-crypto] run formatter --- sdk/core/core-crypto/src/sha256.browser.ts | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/sdk/core/core-crypto/src/sha256.browser.ts b/sdk/core/core-crypto/src/sha256.browser.ts index 838cb718a32b..926933b46660 100644 --- a/sdk/core/core-crypto/src/sha256.browser.ts +++ b/sdk/core/core-crypto/src/sha256.browser.ts @@ -67,7 +67,7 @@ export async function computeSha256Hash( encoding: "base64" | "hex" ): Promise { const contentBytes = utf8ToBytes(content); - const digest = await getCrypto().digest({name: "SHA-256"}, contentBytes); + const digest = await getCrypto().digest({ name: "SHA-256" }, contentBytes); switch (encoding) { case "base64": From 73356b85225f9876f1b31733d28c6871aac14ec3 Mon Sep 17 00:00:00 2001 From: Christopher Radek Date: Wed, 29 Sep 2021 12:49:12 -0700 Subject: [PATCH 07/12] [core-amqp] revert react-native mapping; rhea needs react native support before core-amqp will work --- sdk/core/core-amqp/package.json | 3 --- 1 file changed, 3 deletions(-) diff --git a/sdk/core/core-amqp/package.json b/sdk/core/core-amqp/package.json index c0bc47cc07c3..855b933b49a4 100644 --- a/sdk/core/core-amqp/package.json +++ b/sdk/core/core-amqp/package.json @@ -25,9 +25,6 @@ "./dist-esm/src/util/runtimeInfo.js": "./dist-esm/src/util/runtimeInfo.browser.js", "buffer": "buffer" }, - "react-native": { - "./dist/index.js": "./dist-esm/src/index.js" - }, "files": [ "dist/", "dist-esm/src/", From dee0d6f38a2a53d03df94f0bb35ce0682e09943d Mon Sep 17 00:00:00 2001 From: Christopher Radek Date: Wed, 29 Sep 2021 12:54:04 -0700 Subject: [PATCH 08/12] [core-client-rest] revert react-native mapping --- sdk/core/core-client-rest/package.json | 3 --- 1 file changed, 3 deletions(-) diff --git a/sdk/core/core-client-rest/package.json b/sdk/core/core-client-rest/package.json index 207567585d2b..b79e25f0e7da 100644 --- a/sdk/core/core-client-rest/package.json +++ b/sdk/core/core-client-rest/package.json @@ -8,9 +8,6 @@ "browser": { "./dist-esm/src/url.js": "./dist-esm/src/url.browser.js" }, - "react-native": { - "./dist/index.js": "./dist-esm/src/index.js" - }, "types": "types/latest/core-client-rest.d.ts", "scripts": { "audit": "node ../../../common/scripts/rush-audit.js && rimraf node_modules package-lock.json && npm i --package-lock-only 2>&1 && npm audit", From 8e590d2c11ecf7dfc010a25c31aba825c5bd7812 Mon Sep 17 00:00:00 2001 From: Christopher Radek Date: Wed, 29 Sep 2021 12:56:52 -0700 Subject: [PATCH 09/12] [core-xml] revert react-native mapping; dropping xml2js may preclude needing this --- sdk/core/core-xml/package.json | 3 --- 1 file changed, 3 deletions(-) diff --git a/sdk/core/core-xml/package.json b/sdk/core/core-xml/package.json index 3f9c3f42c47e..bd8ac06030ee 100644 --- a/sdk/core/core-xml/package.json +++ b/sdk/core/core-xml/package.json @@ -8,9 +8,6 @@ "browser": { "./dist-esm/src/xml.js": "./dist-esm/src/xml.browser.js" }, - "react-native": { - "./dist/index.js": "./dist-esm/src/index.js" - }, "types": "types/latest/core-xml.d.ts", "typesVersions": { "<3.6": { From ef06c5e959c57977044e1a87c1e994999e3d2f86 Mon Sep 17 00:00:00 2001 From: Christopher Radek Date: Wed, 29 Sep 2021 12:57:18 -0700 Subject: [PATCH 10/12] add changelog entries --- sdk/core/core-client/CHANGELOG.md | 2 ++ sdk/core/core-lro/CHANGELOG.md | 2 ++ sdk/core/core-paging/CHANGELOG.md | 6 ++++++ sdk/core/core-rest-pipeline/CHANGELOG.md | 2 ++ sdk/core/core-tracing/CHANGELOG.md | 2 ++ sdk/core/core-util/CHANGELOG.md | 3 +++ sdk/core/logger/CHANGELOG.md | 3 +++ 7 files changed, 20 insertions(+) diff --git a/sdk/core/core-client/CHANGELOG.md b/sdk/core/core-client/CHANGELOG.md index 7d69d2c97a50..fa2738cd0390 100644 --- a/sdk/core/core-client/CHANGELOG.md +++ b/sdk/core/core-client/CHANGELOG.md @@ -10,6 +10,8 @@ ### Other Changes +- Updates package to work with the react native bundler. Browser APIs may still need to be pollyfilled for this package to run in react native. [PR #17783](https://github.com/Azure/azure-sdk-for-js/pull/17783) + ## 1.3.0 (2021-08-04) ### Features Added diff --git a/sdk/core/core-lro/CHANGELOG.md b/sdk/core/core-lro/CHANGELOG.md index be150c94ef51..57b40649223f 100644 --- a/sdk/core/core-lro/CHANGELOG.md +++ b/sdk/core/core-lro/CHANGELOG.md @@ -12,6 +12,8 @@ ### Other Changes +- Updates package to work with the react native bundler. [PR #17783](https://github.com/Azure/azure-sdk-for-js/pull/17783) + ## 2.2.0 (2021-08-05) ### Features Added diff --git a/sdk/core/core-paging/CHANGELOG.md b/sdk/core/core-paging/CHANGELOG.md index 6767e2309a93..78847cbf1d85 100644 --- a/sdk/core/core-paging/CHANGELOG.md +++ b/sdk/core/core-paging/CHANGELOG.md @@ -1,5 +1,11 @@ # Release History +## 1.2.1 (Unreleased) + +### Other Changes + +- Updates package to work with the react native bundler. Browser APIs such as `URL` will still need to be pollyfilled for this package to run in react native. [PR #17783](https://github.com/Azure/azure-sdk-for-js/pull/17783) + ## 1.2.0 (2021-08-30) ### Features Added diff --git a/sdk/core/core-rest-pipeline/CHANGELOG.md b/sdk/core/core-rest-pipeline/CHANGELOG.md index 076f0b89217f..68ae8bcaac5e 100644 --- a/sdk/core/core-rest-pipeline/CHANGELOG.md +++ b/sdk/core/core-rest-pipeline/CHANGELOG.md @@ -10,6 +10,8 @@ ### Other Changes +- Updates package to work with the react native bundler. Browser APIs such as `URL` will still need to be pollyfilled for this package to run in react native. [PR #17783](https://github.com/Azure/azure-sdk-for-js/pull/17783) + ## 1.3.0 (2021-09-02) ### Bugs Fixed diff --git a/sdk/core/core-tracing/CHANGELOG.md b/sdk/core/core-tracing/CHANGELOG.md index 763648882303..43a39aa57f24 100644 --- a/sdk/core/core-tracing/CHANGELOG.md +++ b/sdk/core/core-tracing/CHANGELOG.md @@ -13,6 +13,8 @@ ### Other Changes +- Updates package to work with the react native bundler. [PR #17783](https://github.com/Azure/azure-sdk-for-js/pull/17783) + ## 1.0.0-preview.13 (2021-07-15) ### Features Added diff --git a/sdk/core/core-util/CHANGELOG.md b/sdk/core/core-util/CHANGELOG.md index e5b7d209778d..08c2ea314e40 100644 --- a/sdk/core/core-util/CHANGELOG.md +++ b/sdk/core/core-util/CHANGELOG.md @@ -2,6 +2,9 @@ ## 1.0.0-beta.2 (Unreleased) +### Other Changes + +- Updates package to work with the react native bundler. [PR #17783](https://github.com/Azure/azure-sdk-for-js/pull/17783) ## 1.0.0-beta.1 (2021-05-06) diff --git a/sdk/core/logger/CHANGELOG.md b/sdk/core/logger/CHANGELOG.md index 7fb0bdfbdde3..035d2441720a 100644 --- a/sdk/core/logger/CHANGELOG.md +++ b/sdk/core/logger/CHANGELOG.md @@ -2,6 +2,9 @@ ## 1.0.3 (Unreleased) +### Other Changes + +- Updates package to work with the react native bundler. [PR #17783](https://github.com/Azure/azure-sdk-for-js/pull/17783) ## 1.0.2 (2021-03-04) From 105664a9d240a426b0c290e4ed7b16a767572734 Mon Sep 17 00:00:00 2001 From: Christopher Radek Date: Wed, 29 Sep 2021 13:34:28 -0700 Subject: [PATCH 11/12] [core-paging] remove changelog changes --- sdk/core/core-paging/CHANGELOG.md | 6 ------ 1 file changed, 6 deletions(-) diff --git a/sdk/core/core-paging/CHANGELOG.md b/sdk/core/core-paging/CHANGELOG.md index 78847cbf1d85..6767e2309a93 100644 --- a/sdk/core/core-paging/CHANGELOG.md +++ b/sdk/core/core-paging/CHANGELOG.md @@ -1,11 +1,5 @@ # Release History -## 1.2.1 (Unreleased) - -### Other Changes - -- Updates package to work with the react native bundler. Browser APIs such as `URL` will still need to be pollyfilled for this package to run in react native. [PR #17783](https://github.com/Azure/azure-sdk-for-js/pull/17783) - ## 1.2.0 (2021-08-30) ### Features Added From 6b5e87847343ee7dea6da1e29116169ab8c06f90 Mon Sep 17 00:00:00 2001 From: Christopher Radek Date: Wed, 29 Sep 2021 13:41:33 -0700 Subject: [PATCH 12/12] [core-client-paging-rest] add changelog entry --- sdk/core/core-client-paging-rest/CHANGELOG.md | 2 ++ 1 file changed, 2 insertions(+) diff --git a/sdk/core/core-client-paging-rest/CHANGELOG.md b/sdk/core/core-client-paging-rest/CHANGELOG.md index 263bd102cac5..c2c4c45ff2d7 100644 --- a/sdk/core/core-client-paging-rest/CHANGELOG.md +++ b/sdk/core/core-client-paging-rest/CHANGELOG.md @@ -10,6 +10,8 @@ ### Other Changes +- Updates package to work with the react native bundler. Browser APIs may still need to be pollyfilled for this package to run in react native. [PR #17783](https://github.com/Azure/azure-sdk-for-js/pull/17783) + ## 1.0.0-beta.1 (2021-08-05) - First release of package, see README.md for details.