@hint/utils-create-server
Advanced tools
Comparing version 3.4.0 to 3.4.1
@@ -0,4 +1,6 @@ | ||
/** Serializes a `Buffer` using `base64`. */ | ||
declare const replacer: (key: string, value: any) => any; | ||
/** Revives a string of a `Buffer` that was `base64` seralized. */ | ||
declare const reviver: (key: string, value: any) => any; | ||
export { replacer, reviver }; | ||
//# sourceMappingURL=buffer-serialization.d.ts.map |
"use strict"; | ||
Object.defineProperty(exports, "__esModule", { value: true }); | ||
const prefix = 'base64:'; | ||
/** Serializes a `Buffer` using `base64`. */ | ||
/* istanbul ignore next */ | ||
const replacer = (key, value) => { | ||
/** | ||
* When doing a `JSON.parse(Buffer)` the output is | ||
* ``` | ||
* { | ||
* "type": "Buffer", | ||
* "data": Array | ||
* } | ||
* ``` | ||
* | ||
* To serialize we transform the `data` property into | ||
* a `base64` string. | ||
*/ | ||
if (value && value.type === 'Buffer' && Array.isArray(value.data)) { | ||
@@ -12,4 +26,10 @@ const base64Buffer = Buffer.from(value.data).toString('base64'); | ||
exports.replacer = replacer; | ||
/** Revives a string of a `Buffer` that was `base64` seralized. */ | ||
/* istanbul ignore next */ | ||
const reviver = (key, value) => { | ||
if (value && value.type === 'Buffer' && value.data.startsWith(prefix)) { | ||
/** | ||
* We do not need the `type` or `data` properties so the `Buffer` | ||
* is returned directly. | ||
*/ | ||
return Buffer.from(value.data.replace(prefix, ''), 'base64'); | ||
@@ -20,1 +40,2 @@ } | ||
exports.reviver = reviver; | ||
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYnVmZmVyLXNlcmlhbGl6YXRpb24uanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvYnVmZmVyLXNlcmlhbGl6YXRpb24udHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7QUFBQSxNQUFNLE1BQU0sR0FBRyxTQUFTLENBQUM7QUFFekIsNENBQTRDO0FBQzVDLDBCQUEwQjtBQUMxQixNQUFNLFFBQVEsR0FBRyxDQUFDLEdBQVcsRUFBRSxLQUFVLEVBQUUsRUFBRTtJQUV6Qzs7Ozs7Ozs7Ozs7T0FXRztJQUVILElBQUksS0FBSyxJQUFJLEtBQUssQ0FBQyxJQUFJLEtBQUssUUFBUSxJQUFJLEtBQUssQ0FBQyxPQUFPLENBQUMsS0FBSyxDQUFDLElBQUksQ0FBQyxFQUFFO1FBQy9ELE1BQU0sWUFBWSxHQUFHLE1BQU0sQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLElBQUksQ0FBQyxDQUFDLFFBQVEsQ0FBQyxRQUFRLENBQUMsQ0FBQztRQUVoRSxLQUFLLENBQUMsSUFBSSxHQUFHLEdBQUcsTUFBTSxHQUFHLFlBQVksRUFBRSxDQUFDO0tBQzNDO0lBRUQsT0FBTyxLQUFLLENBQUM7QUFDakIsQ0FBQyxDQUFDO0FBbUJFLDRCQUFRO0FBakJaLGtFQUFrRTtBQUNsRSwwQkFBMEI7QUFDMUIsTUFBTSxPQUFPLEdBQUcsQ0FBQyxHQUFXLEVBQUUsS0FBVSxFQUFFLEVBQUU7SUFDeEMsSUFBSSxLQUFLLElBQUksS0FBSyxDQUFDLElBQUksS0FBSyxRQUFRLElBQUksS0FBSyxDQUFDLElBQUksQ0FBQyxVQUFVLENBQUMsTUFBTSxDQUFDLEVBQUU7UUFFbkU7OztXQUdHO1FBQ0gsT0FBTyxNQUFNLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFDLE1BQU0sRUFBRSxFQUFFLENBQUMsRUFBRSxRQUFRLENBQUMsQ0FBQztLQUNoRTtJQUVELE9BQU8sS0FBSyxDQUFDO0FBQ2pCLENBQUMsQ0FBQztBQUtFLDBCQUFPIn0= |
@@ -0,2 +1,3 @@ | ||
/** Creates a valid minimal HTML. */ | ||
export declare const generateHTMLPage: (head?: string, body?: string) => string; | ||
//# sourceMappingURL=generate-html-page.d.ts.map |
"use strict"; | ||
Object.defineProperty(exports, "__esModule", { value: true }); | ||
/** Creates a valid minimal HTML. */ | ||
exports.generateHTMLPage = (head = '<title>test</title>', body = '') => { | ||
@@ -14,1 +15,2 @@ return `<!doctype html> | ||
}; | ||
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZ2VuZXJhdGUtaHRtbC1wYWdlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vc3JjL2dlbmVyYXRlLWh0bWwtcGFnZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOztBQUFBLG9DQUFvQztBQUN2QixRQUFBLGdCQUFnQixHQUFHLENBQUMsT0FBZSxxQkFBcUIsRUFBRSxPQUFlLEVBQUUsRUFBVSxFQUFFO0lBQ2hHLE9BQU87OztVQUdELElBQUk7OztVQUdKLElBQUk7O1FBRU4sQ0FBQztBQUNULENBQUMsQ0FBQyJ9 |
@@ -5,2 +5,3 @@ "use strict"; | ||
const buffer_serialization_1 = require("./buffer-serialization"); | ||
/* istanbul ignore next */ | ||
class IndependentServer { | ||
@@ -16,2 +17,7 @@ constructor(isHTTPS = false) { | ||
}; | ||
/** | ||
* We have to use `spawn` instead of `fork` because | ||
* nyc on Windows seems to have problems and the | ||
* server never gets executed. | ||
*/ | ||
this.child = child_process_1.spawn(process.execPath, [pathToServer, serverArgs], opts); | ||
@@ -30,2 +36,3 @@ this.child.on('message', this.onMessage.bind(this)); | ||
if (!message.webhint) { | ||
// message is not for us | ||
return; | ||
@@ -42,2 +49,6 @@ } | ||
return new Promise((resolve, reject) => { | ||
/* | ||
* Because ava sends also messages we scope everything under | ||
* `webhint` to avoid any possible collusion. | ||
*/ | ||
const message = { | ||
@@ -49,2 +60,7 @@ webhint: { | ||
}; | ||
/** | ||
* `send()` doesn't have a `replacer` parameter so | ||
* we need to manually serialize before to make sure | ||
* `Buffers` are sent correctly. | ||
*/ | ||
const serializedMessage = JSON.stringify(message, buffer_serialization_1.replacer); | ||
@@ -79,1 +95,2 @@ this.child.send(serializedMessage, (error) => { | ||
exports.IndependentServer = IndependentServer; | ||
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXBlbmRlbnQtdGhyZWFkLXNlcnZlci5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9pbmRlcGVuZGVudC10aHJlYWQtc2VydmVyLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7O0FBQUEsaURBQWtFO0FBR2xFLGlFQUEyRDtBQUszRCwwQkFBMEI7QUFDMUIsTUFBYSxpQkFBaUI7SUErRDFCLFlBQW1CLFVBQW1CLEtBQUs7UUE3RG5DLFlBQU8sR0FBMEIsSUFBSSxHQUFHLEVBQUUsQ0FBQztRQUMzQyxVQUFLLEdBQUcsQ0FBQyxDQUFDO1FBNkRkLE1BQU0sWUFBWSxHQUFHLEdBQUcsU0FBUyx3QkFBd0IsQ0FBQztRQUMxRCxNQUFNLFVBQVUsR0FBRyxPQUFPLENBQUMsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDO1FBQzFDLE1BQU0sSUFBSSxHQUFHO1lBQ1QsR0FBRyxFQUFFLFNBQVM7WUFDZCxLQUFLLEVBQUUsQ0FBQyxTQUFTLEVBQUUsU0FBUyxFQUFFLFNBQVMsRUFBRSxLQUFLLENBQUM7U0FDbEQsQ0FBQztRQUVGOzs7O1dBSUc7UUFDSCxJQUFJLENBQUMsS0FBSyxHQUFHLHFCQUFLLENBQ2QsT0FBTyxDQUFDLFFBQVEsRUFDaEIsQ0FBQyxZQUFZLEVBQUUsVUFBVSxDQUFDLEVBQzFCLElBQW9CLENBQUMsQ0FBQztRQUUxQixJQUFJLENBQUMsS0FBSyxDQUFDLEVBQUUsQ0FBQyxTQUFTLEVBQUUsSUFBSSxDQUFDLFNBQVMsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQztRQUVwRCxJQUFJLENBQUMsS0FBSyxDQUFDLEVBQUUsQ0FBQyxPQUFPLEVBQUUsQ0FBQyxLQUFLLEVBQUUsRUFBRTtZQUM3QixPQUFPLENBQUMsR0FBRyxDQUFDLGdCQUFnQixDQUFDLENBQUM7WUFDOUIsT0FBTyxDQUFDLEdBQUcsQ0FBQyxLQUFLLENBQUMsQ0FBQztRQUN2QixDQUFDLENBQUMsQ0FBQztR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 |
@@ -11,2 +11,7 @@ import { IServer, ServerConfiguration } from './types'; | ||
export declare class Server { | ||
/** | ||
* Updates all references to localhost to use the passed port. | ||
* | ||
* This does a deep search in all the object properties. | ||
*/ | ||
static updateLocalhost(content: any, port: number): any; | ||
@@ -13,0 +18,0 @@ private static createIndependentServer; |
@@ -12,3 +12,9 @@ "use strict"; | ||
__export(require("./generate-html-page")); | ||
/* istanbul ignore next */ | ||
class Server { | ||
/** | ||
* Updates all references to localhost to use the passed port. | ||
* | ||
* This does a deep search in all the object properties. | ||
*/ | ||
static updateLocalhost(content, port) { | ||
@@ -64,1 +70,2 @@ if (typeof content === 'string') { | ||
exports.Server = Server; | ||
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7QUFBQSxrQ0FBbUM7QUFDbkMsd0NBQXlDO0FBRXpDLDhCQUE4QjtBQUk5Qiw2REFBd0Q7QUFDeEQsMkVBQWdFO0FBSWhFLDBDQUFxQztBQVNyQywwQkFBMEI7QUFDMUIsTUFBYSxNQUFNO0lBQ2Y7Ozs7T0FJRztJQUNJLE1BQU0sQ0FBQyxlQUFlLENBQUMsT0FBWSxFQUFFLElBQVk7UUFDcEQsSUFBSSxPQUFPLE9BQU8sS0FBSyxRQUFRLEVBQUU7WUFDN0IsT0FBTyxPQUFPLENBQUMsT0FBTyxDQUFDLGNBQWMsRUFBRSxhQUFhLElBQUksR0FBRyxDQUFDLENBQUM7U0FDaEU7UUFFRCxNQUFNLGFBQWEsR0FBRyxPQUFPLE9BQU8sS0FBSyxRQUFRO1lBQzdDLE1BQU0sQ0FBQyxRQUFRLENBQUMsT0FBTyxDQUFDO1lBQ3hCLENBQUMsT0FBTyxDQUFDO1FBRWIsSUFBSSxhQUFhLEVBQUU7WUFDZixPQUFPLE9BQU8sQ0FBQztTQUNsQjtRQUVELElBQUksS0FBSyxDQUFDLE9BQU8sQ0FBQyxPQUFPLENBQUMsRUFBRTtZQUN4QixNQUFNLFdBQVcsR0FBRyxHQUFHLENBQUMsT0FBTyxFQUFFLENBQUMsS0FBSyxFQUFFLEVBQUU7Z0JBQ3ZDLE9BQU8sTUFBTSxDQUFDLGVBQWUsQ0FBQyxLQUFLLEVBQUUsSUFBSSxDQUFDLENBQUM7WUFDL0MsQ0FBQyxDQUFDLENBQUM7WUFFSCxPQUFPLFdBQVcsQ0FBQztTQUN0QjtRQUdELE1BQU0sV0FBVyxHQUFHLE1BQU0sQ0FBQyxPQUFPLEVBQUUsQ0FBQyxHQUFRLEVBQUUsS0FBSyxFQUFFLEdBQUcsRUFBRSxFQUFFO1lBQ3pELEdBQUcsQ0FBQyxHQUFHLENBQUMsR0FBRyxNQUFNLENBQUMsZUFBZSxDQUFDLEtBQUssRUFBRSxJQUFJLENBQUMsQ0FBQztZQUUvQyxPQUFPLEdBQUcsQ0FBQztRQUNmLENBQUMsRUFBRSxFQUFFLENBQUMsQ0FBQztRQUVQLE9BQU8sV0FBVyxDQUFDO0lBQ3ZCLENBQUM7SUFFTyxNQUFNLENBQUMsS0FBSyxDQUFDLHVCQUF1QixDQUFDLE9BQXNCO1FBQy9ELE1BQU0sTUFBTSxHQUFHLElBQUksNkNBQWlCLENBQUMsT0FBTyxDQUFDLE9BQU8sQ0FBQyxDQUFDO1FBRXRELE1BQU0sTUFBTSxDQUFDLEtBQUssRUFBRSxDQUFDO1FBQ3JCLE1BQU0sQ0FBQyxJQUFJLEdBQUcsTUFBTSxNQUFNLENBQUMsT0FBTyxFQUF1QixDQUFDO1FBRTFELElBQUksT0FBTyxJQUFJLE9BQU8sQ0FBQyxhQUFhLEVBQUU7WUFDbEMsTUFBTSxNQUFNLENBQUMsU0FBUyxDQUFDLE1BQU0sQ0FBQyxlQUFlLENBQUMsT0FBTyxDQUFDLGFBQWEsRUFBRSxNQUFNLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQztTQUN0RjtRQUVELE9BQU8sTUFBTSxDQUFDO0lBQ2xCLENBQUM7SUFFTyxNQUFNLENBQUMsS0FBSyxDQUFDLHNCQUFzQixDQUFDLE9BQXNCO1FBQzlELE1BQU0sTUFBTSxHQUFHLElBQUkscUNBQWdCLENBQUMsT0FBTyxDQUFDLE9BQU8sQ0FBQyxDQUFDO1FBRXJELE1BQU0sTUFBTSxDQUFDLEtBQUssRUFBRSxDQUFDO1FBRXJCLElBQUksT0FBTyxJQUFJLE9BQU8sQ0FBQyxhQUFhLEVBQUU7WUFDbEMsTUFBTSxDQUFDLFNBQVMsQ0FBQyxNQUFNLENBQUMsZUFBZSxDQUFDLE9BQU8sQ0FBQyxhQUFhLEVBQUUsTUFBTSxDQUFDLE9BQU8sRUFBRSxDQUFDLENBQUMsQ0FBQztTQUNyRjtRQUVELE9BQU8sTUFBTSxDQUFDO0lBQ2xCLENBQUM7SUFFTSxNQUFNLENBQUMsTUFBTSxDQUFDLFVBQXlCLEVBQUU7UUFDNUMsTUFBTSxVQUFVLEdBQUcsT0FBTyxPQUFPLENBQUMsVUFBVSxLQUFLLFdBQVcsQ0FBQyxDQUFDO1lBQzFELE9BQU8sQ0FBQyxVQUFVLENBQUMsQ0FBQztZQUNwQixJQUFJLENBQUM7UUFFVCxJQUFJLFVBQVUsRUFBRTtZQUNaLE9BQU8sSUFBSSxDQUFDLHNCQUFzQixDQUFDLE9BQU8sQ0FBQyxDQUFDO1NBQy9DO1FBRUQsT0FBTyxJQUFJLENBQUMsdUJBQXVCLENBQUMsT0FBTyxDQUFDLENBQUM7SUFFakQsQ0FBQztDQUNKO0FBMUVELHdCQTBFQyJ9 |
@@ -0,2 +1,6 @@ | ||
/** | ||
* @fileoverview Simple HTTP server used in hint's tests to mimick certain scenarios. | ||
*/ | ||
import { IServer, ServerConfiguration } from './types'; | ||
/** A testing server for webhint's hints */ | ||
export declare class SameThreadServer implements IServer { | ||
@@ -14,2 +18,6 @@ private static usedPorts; | ||
constructor(isHTTPS?: boolean); | ||
/** | ||
* Because we don't know the port until we start the server, we need to update | ||
* the references to http://localhost in the HTML to http://localhost:finalport. | ||
*/ | ||
private updateLocalhost; | ||
@@ -22,4 +30,7 @@ private handleHeaders; | ||
private normalizeConfig; | ||
/** Applies the configuration for routes to the server. */ | ||
configure(configuration: ServerConfiguration): void; | ||
/** Starts listening on the given port. */ | ||
start(): Promise<null>; | ||
/** Stops the server and frees the port. */ | ||
stop(): Promise<null>; | ||
@@ -26,0 +37,0 @@ getPort(): number; |
"use strict"; | ||
/** | ||
* @fileoverview Simple HTTP server used in hint's tests to mimick certain scenarios. | ||
*/ | ||
Object.defineProperty(exports, "__esModule", { value: true }); | ||
@@ -8,2 +11,3 @@ const http = require("http"); | ||
const express = require("express"); | ||
// to work with option 'strict', we can't use import. | ||
const onHeaders = require('on-headers'); | ||
@@ -13,3 +17,9 @@ const utils_string_1 = require("@hint/utils-string"); | ||
const buffer_serialization_1 = require("./buffer-serialization"); | ||
/** | ||
* List of ports in our range that are unsafe for Chrome. | ||
* See: https://src.chromium.org/viewvc/chrome/trunk/src/net/base/net_util.cc?view=markup | ||
*/ | ||
const unsafePorts = [3659, 4045, 6000, 6665, 6666, 6667, 6668, 6669]; | ||
/** A testing server for webhint's hints */ | ||
/* istanbul ignore next */ | ||
class SameThreadServer { | ||
@@ -34,2 +44,6 @@ constructor(isHTTPS) { | ||
} | ||
/** | ||
* Because we don't know the port until we start the server, we need to update | ||
* the references to http://localhost in the HTML to http://localhost:finalport. | ||
*/ | ||
updateLocalhost(html) { | ||
@@ -61,2 +75,6 @@ return html.replace(/\/\/localhost\//g, `//localhost:${this._port}/`); | ||
const headers = requestConditions.request && requestConditions.request.headers; | ||
/* | ||
* Matching is done only based on headers, as for the time | ||
* beeing there is no need to match based on other things. | ||
*/ | ||
if (!headers) { | ||
@@ -67,2 +85,3 @@ return 0; | ||
for (const [header, value] of Object.entries(headers)) { | ||
// TODO: handle `string[]` in `req.headers` | ||
const headerValue = utils_network_1.normalizeHeaderValue(req.headers, header); | ||
@@ -90,2 +109,3 @@ if ((headerValue !== utils_string_1.normalizeString(value)) || (!headerValue && (value === null))) { | ||
catch (e) { | ||
// Ignore invalid keys. | ||
} | ||
@@ -96,2 +116,43 @@ } | ||
isConditionalConfig(configuration) { | ||
/* | ||
* The following is done to quickly determine the type of | ||
* configuration. Possible options are: | ||
* | ||
* 1) Simple config | ||
* (server response is always the same) | ||
* | ||
* { | ||
* name: ..., | ||
* reports: [{ message: ... }], | ||
* serverConfig: { | ||
* '/': { | ||
* content: ..., | ||
* headers: ... | ||
* }, | ||
* ... | ||
* } | ||
* } | ||
* | ||
* | ||
* 2) Conditional config | ||
* (server response depends on the request) | ||
* | ||
* { | ||
* name: ... | ||
* reports: [{ message: ... }], | ||
* serverConfig: { | ||
* [JSON.stringify({ | ||
* headers: { | ||
* ... | ||
* } | ||
* })]: { | ||
* '/': { | ||
* content: ..., | ||
* headers: ... | ||
* }, | ||
* }, | ||
* ... | ||
* } | ||
* } | ||
*/ | ||
try { | ||
@@ -101,2 +162,3 @@ return typeof JSON.parse(Object.entries(configuration)[0][0]) === 'object'; | ||
catch (e) { | ||
// Ignore. | ||
} | ||
@@ -107,2 +169,41 @@ return false; | ||
const config = {}; | ||
/* | ||
* This function convers something such as: | ||
* | ||
* { | ||
* '{"request":{"headers":{"Accept-Encoding":"gzip"}}}': { | ||
* '/': { | ||
* content: ... | ||
* headers: ... | ||
* }, | ||
* ... | ||
* } | ||
* '{"request":{"headers":{"Accept-Encoding":"br"}}}': { | ||
* '/': { | ||
* content: ... | ||
* headers: ... | ||
* }, | ||
* ... | ||
* } | ||
* ... | ||
* } | ||
* | ||
* to | ||
* | ||
* { | ||
* '/': { | ||
* '{"request":{"headers":{"Accept-Encoding":"gzip"}}}': { | ||
* content: ... | ||
* headers: ... | ||
* }, | ||
* '{"request":{"headers":{"Accept-Encoding":"br"}}}': { | ||
* content: ... | ||
* headers: ... | ||
* }, | ||
* ... | ||
* } | ||
* ... | ||
* } | ||
* | ||
*/ | ||
for (const [k, v] of Object.entries(configuration)) { | ||
@@ -115,2 +216,3 @@ for (const [key, value] of Object.entries(v)) { | ||
} | ||
/** Applies the configuration for routes to the server. */ | ||
configure(configuration) { | ||
@@ -131,2 +233,7 @@ let customFavicon = false; | ||
const content = this.getContent(value); | ||
/* | ||
* Hacky way to make `request` fail, but required | ||
* for testing cases such as the internet connection | ||
* being down when a particular request is made. | ||
*/ | ||
if (value === null) { | ||
@@ -154,3 +261,3 @@ res.redirect(301, 'test://fa.il'); | ||
} | ||
if (content !== 'timeout') { | ||
if (content !== 'timeout') { // if `content === 'timeout'`, leaves the server hanging to test the implementation of timeout. | ||
res.send(content); | ||
@@ -169,2 +276,3 @@ } | ||
} | ||
/** Starts listening on the given port. */ | ||
start() { | ||
@@ -183,3 +291,5 @@ return new Promise((resolve, reject) => { | ||
} | ||
// TODO: need to find a way to cast `err` to a [System Error](https://nodejs.org/dist/latest-v7.x/docs/api/errors.html#errors_system_errors) | ||
this._server.on('error', (err) => { | ||
// Need to use `console.log` because otherwise we don't get the output | ||
console.log(`Server Error: ${err.code}`); | ||
@@ -203,2 +313,3 @@ if (err.code === 'EADDRINUSE' || err.code === 'EACCES') { | ||
} | ||
/** Stops the server and frees the port. */ | ||
stop() { | ||
@@ -265,4 +376,11 @@ this._server.close(); | ||
-----END RSA PRIVATE KEY-----`; | ||
/** | ||
* We assume that if there's something it means it should be https: | ||
* | ||
* `node server.js https` == `node server.js something` | ||
*/ | ||
const useHttps = !!process.argv[2]; | ||
const server = new SameThreadServer(useHttps); | ||
/** Wrapper to do the filtering of actions based on the type */ | ||
/* istanbul ignore next */ | ||
const action = (fn) => { | ||
@@ -288,11 +406,16 @@ const type = fn.name; | ||
}; | ||
/* istanbul ignore next */ | ||
const start = (message) => { | ||
return server.start(); | ||
}; | ||
/* istanbul ignore next */ | ||
const stop = (message) => { | ||
// TODO: Disconnect and stop process? | ||
return server.stop(); | ||
}; | ||
/* istanbul ignore next */ | ||
const port = (message) => { | ||
return Promise.resolve(server.port); | ||
}; | ||
/* istanbul ignore next */ | ||
const configure = (message) => { | ||
@@ -303,2 +426,3 @@ const { payload } = message; | ||
}; | ||
/* istanbul ignore next */ | ||
const serverActions = [ | ||
@@ -310,3 +434,3 @@ action(port), | ||
]; | ||
process.on('message', async (serializedMessage) => { | ||
process.on('message', /* istanbul ignore next */ async (serializedMessage) => { | ||
const message = typeof serializedMessage === 'string' ? | ||
@@ -316,2 +440,3 @@ JSON.parse(serializedMessage, buffer_serialization_1.reviver) : | ||
if (!message.webhint) { | ||
// Message is not for us | ||
return; | ||
@@ -332,1 +457,2 @@ } | ||
}); | ||
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2FtZS10aHJlYWQtc2VydmVyLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vc3JjL3NhbWUtdGhyZWFkLXNlcnZlci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiO0FBQUE7O0dBRUc7O0FBRUgsNkJBQTZCO0FBQzdCLCtCQUErQjtBQUUvQiwwQ0FBMkM7QUFDM0Msd0NBQXlDO0FBQ3pDLG1DQUFtQztBQUVuQyxxREFBcUQ7QUFDckQsTUFBTSxTQUFTLEdBQUcsT0FBTyxDQUFDLFlBQVksQ0FBQyxDQUFDO0FBRXhDLHFEQUFxRDtBQUNyRCx1REFBMkQ7QUFHM0QsaUVBQTJEO0FBRTNEOzs7R0FHRztBQUNILE1BQU0sV0FBVyxHQUFHLENBQUMsSUFBSSxFQUFFLElBQUksRUFBRSxJQUFJLEVBQUUsSUFBSSxFQUFFLElBQUksRUFBRSxJQUFJLEVBQUUsSUFBSSxFQUFFLElBQUksQ0FBQyxDQUFDO0FBR3JFLDJDQUEyQztBQUMzQywwQkFBMEI7QUFDMUIsTUFBYSxnQkFBZ0I7SUF1RXpCLFlBQW1CLE9BQWlCO1FBakU1QixZQUFPLEdBQStCLEVBQWlCLENBQUM7UUFrRTVELElBQUksQ0FBQyxLQUFLLEdBQUcsSUFBSSxDQUFDLGVBQWUsRUFBRSxDQUFDO1FBQ3BDLElBQUksQ0FBQyxJQUFJLEdBQUcsT0FBTyxFQUFFLENBQUM7UUFDdEIsSUFBSSxDQUFDLElBQUksQ0FBQyxPQUFPLENBQUMsY0FBYyxDQUFDLENBQUM7UUFDbEMsSUFBSSxDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsQ0FBQyxHQUFHLEVBQUUsR0FBRyxFQUFFLElBQUksRUFBRSxFQUFFO1lBQzdCLEdBQUcsQ0FBQyxTQUFTLENBQUMsZUFBZSxFQUFFLFVBQVUsQ0FBQyxDQUFDO1lBQzNDLElBQUksRUFBRSxDQUFDO1FBQ1gsQ0FBQyxDQUFDLENBQUM7UUFDSCxJQUFJLENBQUMsUUFBUSxHQUFHLE9BQU8sQ0FBQztJQUM1QixDQUFDO0lBbkJPLGVBQWU7UUFDbkIsSUFBSSxJ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 |
"use strict"; | ||
Object.defineProperty(exports, "__esModule", { value: true }); | ||
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidHlwZXMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvdHlwZXMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IiJ9 |
@@ -32,1 +32,2 @@ "use strict"; | ||
}); | ||
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZ2VuZXJhdGUtaHRtbC1wYWdlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vdGVzdHMvZ2VuZXJhdGUtaHRtbC1wYWdlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7O0FBQUEsNkJBQXVCO0FBRXZCLGdDQUEwQztBQUUxQyxhQUFJLENBQUMsdUNBQXVDLEVBQUUsQ0FBQyxDQUFDLEVBQUUsRUFBRTtJQUNoRCxNQUFNLElBQUksR0FBRyxzQkFBZ0IsQ0FBQyxTQUFTLEVBQUUsWUFBWSxDQUFDLENBQUM7SUFDdkQsTUFBTSxRQUFRLEdBQUc7Ozs7Ozs7O1FBUWIsQ0FBQztJQUVMLENBQUMsQ0FBQyxFQUFFLENBQUMsSUFBSSxFQUFFLFFBQVEsQ0FBQyxDQUFDO0FBQ3pCLENBQUMsQ0FBQyxDQUFDO0FBRUgsYUFBSSxDQUFDLG1EQUFtRCxFQUFFLENBQUMsQ0FBQyxFQUFFLEVBQUU7SUFDNUQsTUFBTSxJQUFJLEdBQUcsc0JBQWdCLENBQUMsU0FBUyxDQUFDLENBQUM7SUFDekMsSUFBSSxRQUFRLEdBQUc7Ozs7OztTQU1WLENBQUM7SUFFTixRQUFRLElBQUk7O1FBRVIsQ0FBQztJQUVMLENBQUMsQ0FBQyxFQUFFLENBQUMsSUFBSSxFQUFFLFFBQVEsQ0FBQyxDQUFDO0FBQ3pCLENBQUMsQ0FBQyxDQUFDIn0= |
{ | ||
"dependencies": { | ||
"@hint/utils-network": "^1.0.0", | ||
"@hint/utils-network": "^1.0.1", | ||
"@hint/utils-string": "^1.0.0", | ||
@@ -62,3 +62,3 @@ "express": "^4.17.1", | ||
}, | ||
"version": "3.4.0" | ||
"version": "3.4.1" | ||
} |
Sorry, the diff of this file is not supported yet
Sorry, the diff of this file is not supported yet
Sorry, the diff of this file is not supported yet
Sorry, the diff of this file is not supported yet
Sorry, the diff of this file is not supported yet
409163
774
Updated@hint/utils-network@^1.0.1