From 78a2bbef40bb5418bf96d697dff955f25e250dc5 Mon Sep 17 00:00:00 2001 From: Christina Holland Date: Wed, 22 Sep 2021 12:20:08 -0700 Subject: [PATCH 1/9] Fix firestore exports field --- packages/firestore/lite/package.json | 2 +- packages/firestore/package.json | 12 +++++++++--- 2 files changed, 10 insertions(+), 4 deletions(-) diff --git a/packages/firestore/lite/package.json b/packages/firestore/lite/package.json index 662f61080cc..dbef6c78d6c 100644 --- a/packages/firestore/lite/package.json +++ b/packages/firestore/lite/package.json @@ -2,7 +2,7 @@ "name": "@firebase/firestore-lite", "description": "A lite version of the Firestore SDK", "main": "../dist/lite/index.node.cjs.js", - "main-esm": "../dist/lite/index.node.esm2017.js", + "main-esm": "../dist/lite/index.node.mjs", "module": "../dist/lite/index.browser.esm2017.js", "browser": "../dist/lite/index.browser.esm2017.js", "react-native": "../dist/lite/index.rn.esm2017.js", diff --git a/packages/firestore/package.json b/packages/firestore/package.json index 6b8a37aae09..ac4dde98296 100644 --- a/packages/firestore/package.json +++ b/packages/firestore/package.json @@ -49,16 +49,22 @@ }, "exports": { ".": { - "node": "./dist/index.node.cjs.js", + "node": { + "require": "./dist/index.node.cjs.js", + "import": "./dist/index.node.mjs" + }, "default": "./dist/index.esm2017.js" }, "./lite": { - "node": "./dist/lite/index.node.cjs.js", + "node": { + "require": "./dist/lite/index.node.cjs.js", + "import": "./dist/lite/index.node.esm2017.js" + }, "default": "./dist/lite/index.browser.esm2017.js" } }, "main": "dist/index.node.cjs.js", - "main-esm": "dist/index.node.cjs.esm2017.js", + "main-esm": "dist/index.node.mjs", "react-native": "dist/index.rn.js", "browser": "dist/index.esm2017.js", "module": "dist/index.esm2017.js", From a8107d87dd1f76fd29cffccd5e2dbfb165f7e605 Mon Sep 17 00:00:00 2001 From: Christina Holland Date: Wed, 22 Sep 2021 16:22:39 -0700 Subject: [PATCH 2/9] add changeset --- .changeset/big-cooks-drum.md | 5 +++++ 1 file changed, 5 insertions(+) create mode 100644 .changeset/big-cooks-drum.md diff --git a/.changeset/big-cooks-drum.md b/.changeset/big-cooks-drum.md new file mode 100644 index 00000000000..31104d785af --- /dev/null +++ b/.changeset/big-cooks-drum.md @@ -0,0 +1,5 @@ +--- +'@firebase/firestore': patch +--- + +Fix exports field to also point to Node ESM builds. From 67400fc831fb7978d3894b47d7aa35e38a822372 Mon Sep 17 00:00:00 2001 From: Christina Holland Date: Thu, 23 Sep 2021 15:07:30 -0700 Subject: [PATCH 3/9] [EMPTY] trigger ci From 7a485997c3b504509920f08dd513da5b311607ba Mon Sep 17 00:00:00 2001 From: Christina Holland Date: Tue, 28 Sep 2021 11:31:39 -0700 Subject: [PATCH 4/9] correct lite mjs import path --- packages/firestore/package.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/packages/firestore/package.json b/packages/firestore/package.json index ac4dde98296..77b6626ae2c 100644 --- a/packages/firestore/package.json +++ b/packages/firestore/package.json @@ -58,7 +58,7 @@ "./lite": { "node": { "require": "./dist/lite/index.node.cjs.js", - "import": "./dist/lite/index.node.esm2017.js" + "import": "./dist/lite/index.node.mjs" }, "default": "./dist/lite/index.browser.esm2017.js" } From d2b37a28135ff76fb3a79ed7df23bcd6960b67c7 Mon Sep 17 00:00:00 2001 From: Christina Holland Date: Wed, 29 Sep 2021 12:56:59 -0700 Subject: [PATCH 5/9] Add createRequire --- packages/firestore/src/platform/node/grpc_connection.ts | 8 +++++++- packages/firestore/tsconfig.json | 4 +++- 2 files changed, 10 insertions(+), 2 deletions(-) diff --git a/packages/firestore/src/platform/node/grpc_connection.ts b/packages/firestore/src/platform/node/grpc_connection.ts index c217ec16658..e5a25eb2224 100644 --- a/packages/firestore/src/platform/node/grpc_connection.ts +++ b/packages/firestore/src/platform/node/grpc_connection.ts @@ -15,13 +15,14 @@ * limitations under the License. */ +import module from 'module'; + import { Metadata, GrpcObject, credentials as GrpcCredentials, ServiceError } from '@grpc/grpc-js'; -import { version as grpcVersion } from '@grpc/grpc-js/package.json'; import { Token } from '../../api/credentials'; import { DatabaseInfo } from '../../core/database_info'; @@ -35,6 +36,11 @@ import { logError, logDebug, logWarn } from '../../util/log'; import { NodeCallback, nodePromise } from '../../util/node_api'; import { Deferred } from '../../util/promise'; +const require = module.createRequire(import.meta.url); + +// eslint-disable-next-line @typescript-eslint/no-require-imports +const { version: grpcVersion } = require('@grpc/grpc-js/package.json'); + const LOG_TAG = 'Connection'; const X_GOOG_API_CLIENT_VALUE = `gl-node/${process.versions.node} fire/${SDK_VERSION} grpc/${grpcVersion}`; diff --git a/packages/firestore/tsconfig.json b/packages/firestore/tsconfig.json index f9c40e4eff2..4ea47b6b3ce 100644 --- a/packages/firestore/tsconfig.json +++ b/packages/firestore/tsconfig.json @@ -1,7 +1,9 @@ { "extends": "../../config/tsconfig.base.json", "compilerOptions": { - "outDir": "dist" + "outDir": "dist", + "allowSyntheticDefaultImports": true, + "module": "es2020" }, "exclude": [ "scripts/**/*", From 5ab9103eb97ee45ad16315b8654992e9aacf654b Mon Sep 17 00:00:00 2001 From: Christina Holland Date: Wed, 29 Sep 2021 16:09:39 -0700 Subject: [PATCH 6/9] Revert "Add createRequire" This reverts commit b2606142465927fb6784e8f271babaacfe0ad3ae. --- packages/firestore/src/platform/node/grpc_connection.ts | 8 +------- packages/firestore/tsconfig.json | 4 +--- 2 files changed, 2 insertions(+), 10 deletions(-) diff --git a/packages/firestore/src/platform/node/grpc_connection.ts b/packages/firestore/src/platform/node/grpc_connection.ts index e5a25eb2224..c217ec16658 100644 --- a/packages/firestore/src/platform/node/grpc_connection.ts +++ b/packages/firestore/src/platform/node/grpc_connection.ts @@ -15,14 +15,13 @@ * limitations under the License. */ -import module from 'module'; - import { Metadata, GrpcObject, credentials as GrpcCredentials, ServiceError } from '@grpc/grpc-js'; +import { version as grpcVersion } from '@grpc/grpc-js/package.json'; import { Token } from '../../api/credentials'; import { DatabaseInfo } from '../../core/database_info'; @@ -36,11 +35,6 @@ import { logError, logDebug, logWarn } from '../../util/log'; import { NodeCallback, nodePromise } from '../../util/node_api'; import { Deferred } from '../../util/promise'; -const require = module.createRequire(import.meta.url); - -// eslint-disable-next-line @typescript-eslint/no-require-imports -const { version: grpcVersion } = require('@grpc/grpc-js/package.json'); - const LOG_TAG = 'Connection'; const X_GOOG_API_CLIENT_VALUE = `gl-node/${process.versions.node} fire/${SDK_VERSION} grpc/${grpcVersion}`; diff --git a/packages/firestore/tsconfig.json b/packages/firestore/tsconfig.json index 4ea47b6b3ce..f9c40e4eff2 100644 --- a/packages/firestore/tsconfig.json +++ b/packages/firestore/tsconfig.json @@ -1,9 +1,7 @@ { "extends": "../../config/tsconfig.base.json", "compilerOptions": { - "outDir": "dist", - "allowSyntheticDefaultImports": true, - "module": "es2020" + "outDir": "dist" }, "exclude": [ "scripts/**/*", From f8348bfff6a56619b3ad9007c0531cfc4d989f1e Mon Sep 17 00:00:00 2001 From: Christina Holland Date: Tue, 5 Oct 2021 13:19:18 -0700 Subject: [PATCH 7/9] Add tsignores --- .../firestore/src/platform/node/grpc_connection.ts | 11 ++++++++++- 1 file changed, 10 insertions(+), 1 deletion(-) diff --git a/packages/firestore/src/platform/node/grpc_connection.ts b/packages/firestore/src/platform/node/grpc_connection.ts index c217ec16658..613d4e3f8cb 100644 --- a/packages/firestore/src/platform/node/grpc_connection.ts +++ b/packages/firestore/src/platform/node/grpc_connection.ts @@ -15,13 +15,16 @@ * limitations under the License. */ +// This is a hack fix for Node ES modules to use `require`. +// @ts-ignore To avoid using `allowSyntheticDefaultImports` flag. +import module from 'module'; + import { Metadata, GrpcObject, credentials as GrpcCredentials, ServiceError } from '@grpc/grpc-js'; -import { version as grpcVersion } from '@grpc/grpc-js/package.json'; import { Token } from '../../api/credentials'; import { DatabaseInfo } from '../../core/database_info'; @@ -35,6 +38,12 @@ import { logError, logDebug, logWarn } from '../../util/log'; import { NodeCallback, nodePromise } from '../../util/node_api'; import { Deferred } from '../../util/promise'; +// This is a hack fix for Node ES modules to use `require`. +// @ts-ignore To avoid using `--module es2020` flag. +const require = module.createRequire(import.meta.url); +// eslint-disable-next-line @typescript-eslint/no-require-imports +const { version: grpcVersion } = require('@grpc/grpc-js/package.json'); + const LOG_TAG = 'Connection'; const X_GOOG_API_CLIENT_VALUE = `gl-node/${process.versions.node} fire/${SDK_VERSION} grpc/${grpcVersion}`; From 5e57f25261f9bb39b6f45167f01825a071c490d9 Mon Sep 17 00:00:00 2001 From: Christina Holland Date: Tue, 5 Oct 2021 16:25:13 -0700 Subject: [PATCH 8/9] Change to minor bump. --- .changeset/big-cooks-drum.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/.changeset/big-cooks-drum.md b/.changeset/big-cooks-drum.md index 31104d785af..40ec6a61fb3 100644 --- a/.changeset/big-cooks-drum.md +++ b/.changeset/big-cooks-drum.md @@ -1,5 +1,5 @@ --- -'@firebase/firestore': patch +'@firebase/firestore': minor --- -Fix exports field to also point to Node ESM builds. +Fix exports field to also point to Node ESM builds. This change requires Node.js version 10+. From c5e701fe15bfdbb610df6afee17796ef209b82d4 Mon Sep 17 00:00:00 2001 From: Christina Holland Date: Mon, 18 Oct 2021 14:19:17 -0700 Subject: [PATCH 9/9] Remove Node 8 from package.json --- packages/firestore/package.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/packages/firestore/package.json b/packages/firestore/package.json index 77b6626ae2c..81b42119bd5 100644 --- a/packages/firestore/package.json +++ b/packages/firestore/package.json @@ -2,7 +2,7 @@ "name": "@firebase/firestore", "version": "3.1.0", "engines": { - "node": "^8.13.0 || >=10.10.0" + "node": ">=10.10.0" }, "description": "The Cloud Firestore component of the Firebase JS SDK.", "author": "Firebase (https://firebase.google.com/)",