cypress-cloud
Version:
45 lines • 4.6 kB
JavaScript
// plugin/index.ts
import fs from "fs";
import { format } from "util";
import WebSocket from "ws";
async function cloudPlugin(on, config) {
function debug(...args) {
if (config.env.currents_debug_enabled) {
console.debug("[currents:plugin]", format(...args));
}
}
let ws = null;
function sendToWS(message) {
if (ws) {
ws.send(JSON.stringify(message));
}
}
if (config.env.currents_ws) {
debug("setting port to %s", config.env.currents_ws);
await new Promise((resolve) => {
ws = new WebSocket(`ws://localhost:${config.env.currents_ws}`);
ws.on("open", () => {
resolve(null);
});
});
}
debug("currents plugin loaded");
if (config.env.currents_temp_file) {
debug("dumping config to '%s'", config.env.currents_temp_file);
fs.writeFileSync(config.env.currents_temp_file, JSON.stringify(config));
debug("config is availabe at '%s'", config.env.currents_temp_file);
}
on("before:spec", (spec) => {
sendToWS({ type: "before:spec", payload: { spec } });
});
on("after:spec", (spec, results) => {
sendToWS({ type: "after:spec", payload: { spec, results } });
});
return config;
}
var plugin_default = cloudPlugin;
export {
cloudPlugin,
plugin_default as default
};
//# sourceMappingURL=data:application/json;base64,ewogICJ2ZXJzaW9uIjogMywKICAic291cmNlcyI6IFsiLi4vLi4vcGx1Z2luL2luZGV4LnRzIl0sCiAgInNvdXJjZXNDb250ZW50IjogWyIvLy8gPHJlZmVyZW5jZSB0eXBlcz1cIkN5cHJlc3NcIiAvPlxuXG5pbXBvcnQgZnMgZnJvbSBcImZzXCI7XG5pbXBvcnQgeyBmb3JtYXQgfSBmcm9tIFwidXRpbFwiO1xuaW1wb3J0IFdlYlNvY2tldCBmcm9tIFwid3NcIjtcblxuZXhwb3J0IGFzeW5jIGZ1bmN0aW9uIGNsb3VkUGx1Z2luKFxuICBvbjogQ3lwcmVzcy5QbHVnaW5FdmVudHMsXG4gIGNvbmZpZzogQ3lwcmVzcy5QbHVnaW5Db25maWdPcHRpb25zXG4pIHtcbiAgZnVuY3Rpb24gZGVidWcoLi4uYXJnczogdW5rbm93bltdKSB7XG4gICAgaWYgKGNvbmZpZy5lbnYuY3VycmVudHNfZGVidWdfZW5hYmxlZCkge1xuICAgICAgY29uc29sZS5kZWJ1ZyhcIltjdXJyZW50czpwbHVnaW5dXCIsIGZvcm1hdCguLi5hcmdzKSk7XG4gICAgfVxuICB9XG5cbiAgbGV0IHdzOiBXZWJTb2NrZXQgfCBudWxsID0gbnVsbDtcbiAgZnVuY3Rpb24gc2VuZFRvV1MobWVzc2FnZTogdW5rbm93bikge1xuICAgIGlmICh3cykge1xuICAgICAgd3Muc2VuZChKU09OLnN0cmluZ2lmeShtZXNzYWdlKSk7XG4gICAgfVxuICB9XG5cbiAgaWYgKGNvbmZpZy5lbnYuY3VycmVudHNfd3MpIHtcbiAgICBkZWJ1ZyhcInNldHRpbmcgcG9ydCB0byAlc1wiLCBjb25maWcuZW52LmN1cnJlbnRzX3dzKTtcbiAgICBhd2FpdCBuZXcgUHJvbWlzZSgocmVzb2x2ZSkgPT4ge1xuICAgICAgd3MgPSBuZXcgV2ViU29ja2V0KGB3czovL2xvY2FsaG9zdDoke2NvbmZpZy5lbnYuY3VycmVudHNfd3N9YCk7XG4gICAgICB3cy5vbihcIm9wZW5cIiwgKCkgPT4ge1xuICAgICAgICByZXNvbHZlKG51bGwpO1xuICAgICAgfSk7XG4gICAgfSk7XG4gIH1cblxuICBkZWJ1ZyhcImN1cnJlbnRzIHBsdWdpbiBsb2FkZWRcIik7XG5cbiAgaWYgKGNvbmZpZy5lbnYuY3VycmVudHNfdGVtcF9maWxlKSB7XG4gICAgZGVidWcoXCJkdW1waW5nIGNvbmZpZyB0byAnJXMnXCIsIGNvbmZpZy5lbnYuY3VycmVudHNfdGVtcF9maWxlKTtcbiAgICBmcy53cml0ZUZpbGVTeW5jKGNvbmZpZy5lbnYuY3VycmVudHNfdGVtcF9maWxlLCBKU09OLnN0cmluZ2lmeShjb25maWcpKTtcbiAgICBkZWJ1ZyhcImNvbmZpZyBpcyBhdmFpbGFiZSBhdCAnJXMnXCIsIGNvbmZpZy5lbnYuY3VycmVudHNfdGVtcF9maWxlKTtcbiAgfVxuXG4gIG9uKFwiYmVmb3JlOnNwZWNcIiwgKHNwZWMpID0+IHtcbiAgICBzZW5kVG9XUyh7IHR5cGU6IFwiYmVmb3JlOnNwZWNcIiwgcGF5bG9hZDogeyBzcGVjIH0gfSk7XG4gIH0pO1xuICBvbihcImFmdGVyOnNwZWNcIiwgKHNwZWMsIHJlc3VsdHMpID0+IHtcbiAgICBzZW5kVG9XUyh7IHR5cGU6IFwiYWZ0ZXI6c3BlY1wiLCBwYXlsb2FkOiB7IHNwZWMsIHJlc3VsdHMgfSB9KTtcbiAgfSk7XG5cbiAgcmV0dXJuIGNvbmZpZztcbn1cblxuZXhwb3J0IGRlZmF1bHQgY2xvdWRQbHVnaW47XG4iXSwKICAibWFwcGluZ3MiOiAiO0FBRUEsT0FBTyxRQUFRO0FBQ2YsU0FBUyxjQUFjO0FBQ3ZCLE9BQU8sZUFBZTtBQUV0QixlQUFzQixZQUNwQixJQUNBLFFBQ0E7QUFDQSxXQUFTLFNBQVMsTUFBaUI7QUFDakMsUUFBSSxPQUFPLElBQUksd0JBQXdCO0FBQ3JDLGNBQVEsTUFBTSxxQkFBcUIsT0FBTyxHQUFHLElBQUksQ0FBQztBQUFBLElBQ3BEO0FBQUEsRUFDRjtBQUVBLE1BQUksS0FBdUI7QUFDM0IsV0FBUyxTQUFTLFNBQWtCO0FBQ2xDLFFBQUksSUFBSTtBQUNOLFNBQUcsS0FBSyxLQUFLLFVBQVUsT0FBTyxDQUFDO0FBQUEsSUFDakM7QUFBQSxFQUNGO0FBRUEsTUFBSSxPQUFPLElBQUksYUFBYTtBQUMxQixVQUFNLHNCQUFzQixPQUFPLElBQUksV0FBVztBQUNsRCxVQUFNLElBQUksUUFBUSxDQUFDLFlBQVk7QUFDN0IsV0FBSyxJQUFJLFVBQVUsa0JBQWtCLE9BQU8sSUFBSSxhQUFhO0FBQzdELFNBQUcsR0FBRyxRQUFRLE1BQU07QUFDbEIsZ0JBQVEsSUFBSTtBQUFBLE1BQ2QsQ0FBQztBQUFBLElBQ0gsQ0FBQztBQUFBLEVBQ0g7QUFFQSxRQUFNLHdCQUF3QjtBQUU5QixNQUFJLE9BQU8sSUFBSSxvQkFBb0I7QUFDakMsVUFBTSwwQkFBMEIsT0FBTyxJQUFJLGtCQUFrQjtBQUM3RCxPQUFHLGNBQWMsT0FBTyxJQUFJLG9CQUFvQixLQUFLLFVBQVUsTUFBTSxDQUFDO0FBQ3RFLFVBQU0sOEJBQThCLE9BQU8sSUFBSSxrQkFBa0I7QUFBQSxFQUNuRTtBQUVBLEtBQUcsZUFBZSxDQUFDLFNBQVM7QUFDMUIsYUFBUyxFQUFFLE1BQU0sZUFBZSxTQUFTLEVBQUUsS0FBSyxFQUFFLENBQUM7QUFBQSxFQUNyRCxDQUFDO0FBQ0QsS0FBRyxjQUFjLENBQUMsTUFBTSxZQUFZO0FBQ2xDLGFBQVMsRUFBRSxNQUFNLGNBQWMsU0FBUyxFQUFFLE1BQU0sUUFBUSxFQUFFLENBQUM7QUFBQSxFQUM3RCxDQUFDO0FBRUQsU0FBTztBQUNUO0FBRUEsSUFBTyxpQkFBUTsiLAogICJuYW1lcyI6IFtdCn0K