Skip to content

Commit c4f09e7

Browse files
committed
Fix broken node
1 parent d473170 commit c4f09e7

File tree

5 files changed

+17
-2
lines changed

5 files changed

+17
-2
lines changed

packages-exp/auth-compat-exp/index.node.ts

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -22,3 +22,11 @@
2222
* just use index.ts
2323
*/
2424
export * from './index';
25+
import {FetchProvider} from '@firebase/auth-exp/internal';
26+
import * as fetchImpl from 'node-fetch';
27+
28+
FetchProvider.initialize(
29+
(fetchImpl.default as unknown) as typeof fetch,
30+
(fetchImpl.Headers as unknown) as typeof Headers,
31+
(fetchImpl.Response as unknown) as typeof Response
32+
);

packages-exp/auth-compat-exp/package.json

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -24,7 +24,7 @@
2424
"test:browser": "karma start --single-run",
2525
"test:browser:integration": "karma start --single-run --integration",
2626
"test:node": "ts-node -O '{\"module\": \"commonjs\", \"target\": \"es6\"}' scripts/run_node_tests.ts",
27-
"test:node:integration": "ts-node -O '{\"module\": \"commonjs\", \"target\": \"es6\"}' scripts/run_node_tests.ts",
27+
"test:node:integration": "ts-node -O '{\"module\": \"commonjs\", \"target\": \"es6\"}' scripts/run_node_tests.ts --integration",
2828
"test:integration": "run-s test:browser:integration test:node:integration"
2929
},
3030
"peerDependencies": {
@@ -35,6 +35,7 @@
3535
"@firebase/auth-exp": "0.0.900",
3636
"@firebase/component": "0.2.1",
3737
"@firebase/util": "0.4.0",
38+
"node-fetch": "2.6.1",
3839
"tslib": "^2.0.0"
3940
},
4041
"license": "Apache-2.0",

packages-exp/auth-compat-exp/src/auth.ts

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -71,12 +71,15 @@ export class Auth
7171

7272
this.auth._updateErrorMap(exp.debugErrorMap);
7373

74+
// Only use a popup/redirect resolver in browser environments
75+
const resolver = typeof window !== 'undefined' ? CompatPopupRedirectResolver : undefined;
76+
7477
// This promise is intended to float; auth initialization happens in the
7578
// background, meanwhile the auth object may be used by the app.
7679
// eslint-disable-next-line @typescript-eslint/no-floating-promises
7780
this.auth._initializeWithPersistence(
7881
hierarchy,
79-
CompatPopupRedirectResolver
82+
resolver
8083
);
8184
}
8285

packages-exp/auth-compat-exp/test/helpers/helpers.ts

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -17,6 +17,8 @@
1717

1818
import * as sinon from 'sinon';
1919
import firebase from '@firebase/app-compat';
20+
import '../..';
21+
2022
import * as exp from '@firebase/auth-exp/internal';
2123
import {
2224
getAppConfig,

packages-exp/auth-exp/internal/index.ts

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -43,3 +43,4 @@ export { _fail, _assert } from '../src/core/util/assert';
4343
export { AuthPopup } from '../src/platform_browser/util/popup';
4444
export { _getRedirectResult } from '../src/platform_browser/strategies/redirect';
4545
export { cordovaPopupRedirectResolver } from '../src/platform_cordova/popup_redirect/popup_redirect';
46+
export { FetchProvider } from '../src/core/util/fetch_provider';

0 commit comments

Comments
 (0)