@nxextensions/firebase-cypress
Version:
An NX Plugin for Firebase Applications that would like to use emulators for E2E testing with Cypress
39 lines • 1.29 kB
JavaScript
;
Object.defineProperty(exports, "__esModule", { value: true });
exports.isServerUp = isServerUp;
exports.waitForServer = waitForServer;
const tslib_1 = require("tslib");
const request_1 = tslib_1.__importDefault(require("./request"));
function isServerUp(baseUrl) {
if (!isNaN(+baseUrl)) {
baseUrl = `http://localhost:${baseUrl}`;
}
return new Promise((res) => {
void (0, request_1.default)(baseUrl, () => {
res(true);
}, () => res(false));
});
}
function waitForServer(baseUrl) {
if (!isNaN(+baseUrl)) {
baseUrl = `http://localhost:${baseUrl}`;
}
return new Promise((res, rej) => {
let pollTimeout;
const timeoutDuration = 120000;
const timeout = setTimeout(() => {
clearTimeout(pollTimeout);
rej(new Error(`Server failed to start within ${timeoutDuration / 1000}s. Aborting operation`));
}, timeoutDuration);
function pollForServer() {
void (0, request_1.default)(baseUrl, () => {
clearTimeout(timeout);
res();
}, () => {
pollTimeout = setTimeout(pollForServer, 100);
});
}
pollForServer();
});
}
//# sourceMappingURL=server.js.map