@andersbakken/fisk 4.0.1 → 4.0.3
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/builder/fisk-builder.js +32 -132
- package/package.json +1 -2
package/builder/fisk-builder.js
CHANGED
|
@@ -5450,7 +5450,7 @@ function push$1(dest, name, elem) {
|
|
|
5450
5450
|
* @return {Object} The parsed object
|
|
5451
5451
|
* @public
|
|
5452
5452
|
*/
|
|
5453
|
-
function parse$
|
|
5453
|
+
function parse$e(header) {
|
|
5454
5454
|
const offers = Object.create(null);
|
|
5455
5455
|
|
|
5456
5456
|
if (header === undefined || header === '') return offers;
|
|
@@ -5625,7 +5625,7 @@ function format$6(extensions) {
|
|
|
5625
5625
|
.join(', ');
|
|
5626
5626
|
}
|
|
5627
5627
|
|
|
5628
|
-
var extension = { format: format$6, parse: parse$
|
|
5628
|
+
var extension = { format: format$6, parse: parse$e };
|
|
5629
5629
|
|
|
5630
5630
|
const EventEmitter$2 = EventEmitter__default["default"];
|
|
5631
5631
|
const https = require$$1__default$1["default"];
|
|
@@ -5647,7 +5647,7 @@ const {
|
|
|
5647
5647
|
NOOP
|
|
5648
5648
|
} = constants;
|
|
5649
5649
|
const { addEventListener, removeEventListener } = eventTarget;
|
|
5650
|
-
const { format: format$5, parse: parse$
|
|
5650
|
+
const { format: format$5, parse: parse$d } = extension;
|
|
5651
5651
|
const { toBuffer } = bufferUtilExports;
|
|
5652
5652
|
|
|
5653
5653
|
const readyStates = ['CONNECTING', 'OPEN', 'CLOSING', 'CLOSED'];
|
|
@@ -6277,7 +6277,7 @@ function initAsClient(websocket, address, protocols, options) {
|
|
|
6277
6277
|
|
|
6278
6278
|
if (perMessageDeflate) {
|
|
6279
6279
|
try {
|
|
6280
|
-
const extensions = parse$
|
|
6280
|
+
const extensions = parse$d(res.headers['sec-websocket-extensions']);
|
|
6281
6281
|
|
|
6282
6282
|
if (extensions[PerMessageDeflate$1.extensionName]) {
|
|
6283
6283
|
perMessageDeflate.accept(extensions[PerMessageDeflate$1.extensionName]);
|
|
@@ -6738,7 +6738,7 @@ const { createServer, STATUS_CODES } = require$$2__default["default"];
|
|
|
6738
6738
|
|
|
6739
6739
|
const PerMessageDeflate = permessageDeflate;
|
|
6740
6740
|
const WebSocket$1 = websocket;
|
|
6741
|
-
const { format: format$4, parse: parse$
|
|
6741
|
+
const { format: format$4, parse: parse$c } = extension;
|
|
6742
6742
|
const { GUID, kWebSocket } = constants;
|
|
6743
6743
|
|
|
6744
6744
|
const keyRegex = /^[+/0-9A-Za-z]{22}==$/;
|
|
@@ -6939,7 +6939,7 @@ class WebSocketServer extends EventEmitter$1 {
|
|
|
6939
6939
|
);
|
|
6940
6940
|
|
|
6941
6941
|
try {
|
|
6942
|
-
const offers = parse$
|
|
6942
|
+
const offers = parse$c(req.headers['sec-websocket-extensions']);
|
|
6943
6943
|
|
|
6944
6944
|
if (offers[PerMessageDeflate.extensionName]) {
|
|
6945
6945
|
perMessageDeflate.accept(offers[PerMessageDeflate.extensionName]);
|
|
@@ -9155,7 +9155,7 @@ var bytes$1 = {
|
|
|
9155
9155
|
|
|
9156
9156
|
bytes$1.exports = bytes;
|
|
9157
9157
|
bytesExports.format = format$3;
|
|
9158
|
-
bytesExports.parse = parse$
|
|
9158
|
+
bytesExports.parse = parse$b;
|
|
9159
9159
|
|
|
9160
9160
|
/**
|
|
9161
9161
|
* Module variables.
|
|
@@ -9194,7 +9194,7 @@ var parseRegExp = /^((-|\+)?(\d+(?:\.\d+)?)) *(kb|mb|gb|tb|pb)$/i;
|
|
|
9194
9194
|
|
|
9195
9195
|
function bytes(value, options) {
|
|
9196
9196
|
if (typeof value === 'string') {
|
|
9197
|
-
return parse$
|
|
9197
|
+
return parse$b(value);
|
|
9198
9198
|
}
|
|
9199
9199
|
|
|
9200
9200
|
if (typeof value === 'number') {
|
|
@@ -9279,7 +9279,7 @@ function format$3(value, options) {
|
|
|
9279
9279
|
* @public
|
|
9280
9280
|
*/
|
|
9281
9281
|
|
|
9282
|
-
function parse$
|
|
9282
|
+
function parse$b(val) {
|
|
9283
9283
|
if (typeof val === 'number' && !isNaN(val)) {
|
|
9284
9284
|
return val;
|
|
9285
9285
|
}
|
|
@@ -9364,7 +9364,7 @@ var TYPE_REGEXP = /^[!#$%&'*+.^_`|~0-9A-Za-z-]+\/[!#$%&'*+.^_`|~0-9A-Za-z-]+$/;
|
|
|
9364
9364
|
*/
|
|
9365
9365
|
|
|
9366
9366
|
contentType.format = format$2;
|
|
9367
|
-
contentType.parse = parse$
|
|
9367
|
+
contentType.parse = parse$a;
|
|
9368
9368
|
|
|
9369
9369
|
/**
|
|
9370
9370
|
* Format object to media type.
|
|
@@ -9415,7 +9415,7 @@ function format$2 (obj) {
|
|
|
9415
9415
|
* @public
|
|
9416
9416
|
*/
|
|
9417
9417
|
|
|
9418
|
-
function parse$
|
|
9418
|
+
function parse$a (string) {
|
|
9419
9419
|
if (!string) {
|
|
9420
9420
|
throw new TypeError('argument string is required')
|
|
9421
9421
|
}
|
|
@@ -23362,7 +23362,7 @@ var typeRegExp = /^ *([A-Za-z0-9][A-Za-z0-9!#$&^_-]{0,126})\/([A-Za-z0-9][A-Za-z
|
|
|
23362
23362
|
*/
|
|
23363
23363
|
|
|
23364
23364
|
mediaTyper.format = format$1;
|
|
23365
|
-
mediaTyper.parse = parse$
|
|
23365
|
+
mediaTyper.parse = parse$9;
|
|
23366
23366
|
|
|
23367
23367
|
/**
|
|
23368
23368
|
* Format object to media type.
|
|
@@ -23429,7 +23429,7 @@ function format$1(obj) {
|
|
|
23429
23429
|
* @api public
|
|
23430
23430
|
*/
|
|
23431
23431
|
|
|
23432
|
-
function parse$
|
|
23432
|
+
function parse$9(string) {
|
|
23433
23433
|
if (!string) {
|
|
23434
23434
|
throw new TypeError('argument string is required')
|
|
23435
23435
|
}
|
|
@@ -37225,7 +37225,7 @@ var normalizeParseOptions = function normalizeParseOptions(opts) {
|
|
|
37225
37225
|
};
|
|
37226
37226
|
};
|
|
37227
37227
|
|
|
37228
|
-
var parse$
|
|
37228
|
+
var parse$8 = function (str, opts) {
|
|
37229
37229
|
var options = normalizeParseOptions(opts);
|
|
37230
37230
|
|
|
37231
37231
|
if (str === '' || str === null || typeof str === 'undefined') {
|
|
@@ -37252,12 +37252,12 @@ var parse$9 = function (str, opts) {
|
|
|
37252
37252
|
};
|
|
37253
37253
|
|
|
37254
37254
|
var stringify$1 = stringify_1;
|
|
37255
|
-
var parse$
|
|
37255
|
+
var parse$7 = parse$8;
|
|
37256
37256
|
var formats = formats$3;
|
|
37257
37257
|
|
|
37258
37258
|
var lib$1 = {
|
|
37259
37259
|
formats: formats,
|
|
37260
|
-
parse: parse$
|
|
37260
|
+
parse: parse$7,
|
|
37261
37261
|
stringify: stringify$1
|
|
37262
37262
|
};
|
|
37263
37263
|
|
|
@@ -37931,7 +37931,7 @@ var parseurl$1 = {
|
|
|
37931
37931
|
*/
|
|
37932
37932
|
|
|
37933
37933
|
var url = require$$0__default$3["default"];
|
|
37934
|
-
var parse$
|
|
37934
|
+
var parse$6 = url.parse;
|
|
37935
37935
|
var Url = url.Url;
|
|
37936
37936
|
|
|
37937
37937
|
/**
|
|
@@ -38010,7 +38010,7 @@ function originalurl (req) {
|
|
|
38010
38010
|
|
|
38011
38011
|
function fastparse (str) {
|
|
38012
38012
|
if (typeof str !== 'string' || str.charCodeAt(0) !== 0x2f /* / */) {
|
|
38013
|
-
return parse$
|
|
38013
|
+
return parse$6(str)
|
|
38014
38014
|
}
|
|
38015
38015
|
|
|
38016
38016
|
var pathname = str;
|
|
@@ -38037,7 +38037,7 @@ function fastparse (str) {
|
|
|
38037
38037
|
case 0x23: /* # */
|
|
38038
38038
|
case 0xa0:
|
|
38039
38039
|
case 0xfeff:
|
|
38040
|
-
return parse$
|
|
38040
|
+
return parse$6(str)
|
|
38041
38041
|
}
|
|
38042
38042
|
}
|
|
38043
38043
|
|
|
@@ -40157,7 +40157,7 @@ var contentDisposition$2 = {
|
|
|
40157
40157
|
*/
|
|
40158
40158
|
|
|
40159
40159
|
contentDisposition$2.exports = contentDisposition$1;
|
|
40160
|
-
contentDispositionExports.parse = parse$
|
|
40160
|
+
contentDispositionExports.parse = parse$5;
|
|
40161
40161
|
|
|
40162
40162
|
/**
|
|
40163
40163
|
* Module dependencies.
|
|
@@ -40456,7 +40456,7 @@ function getlatin1 (val) {
|
|
|
40456
40456
|
* @public
|
|
40457
40457
|
*/
|
|
40458
40458
|
|
|
40459
|
-
function parse$
|
|
40459
|
+
function parse$5 (string) {
|
|
40460
40460
|
if (!string || typeof string !== 'string') {
|
|
40461
40461
|
throw new TypeError('argument string is required')
|
|
40462
40462
|
}
|
|
@@ -43771,7 +43771,7 @@ var ms$1 = function (val, options) {
|
|
|
43771
43771
|
options = options || {};
|
|
43772
43772
|
var type = typeof val;
|
|
43773
43773
|
if (type === 'string' && val.length > 0) {
|
|
43774
|
-
return parse$
|
|
43774
|
+
return parse$4(val);
|
|
43775
43775
|
} else if (type === 'number' && isFinite(val)) {
|
|
43776
43776
|
return options.long ? fmtLong(val) : fmtShort(val);
|
|
43777
43777
|
}
|
|
@@ -43789,7 +43789,7 @@ var ms$1 = function (val, options) {
|
|
|
43789
43789
|
* @api private
|
|
43790
43790
|
*/
|
|
43791
43791
|
|
|
43792
|
-
function parse$
|
|
43792
|
+
function parse$4(str) {
|
|
43793
43793
|
str = String(str);
|
|
43794
43794
|
if (str.length > 100) {
|
|
43795
43795
|
return;
|
|
@@ -45241,7 +45241,7 @@ function forwarded$1 (req) {
|
|
|
45241
45241
|
}
|
|
45242
45242
|
|
|
45243
45243
|
// simple header parsing
|
|
45244
|
-
var proxyAddrs = parse$
|
|
45244
|
+
var proxyAddrs = parse$3(req.headers['x-forwarded-for'] || '');
|
|
45245
45245
|
var socketAddr = getSocketAddr(req);
|
|
45246
45246
|
var addrs = [socketAddr].concat(proxyAddrs);
|
|
45247
45247
|
|
|
@@ -45270,7 +45270,7 @@ function getSocketAddr (req) {
|
|
|
45270
45270
|
* @private
|
|
45271
45271
|
*/
|
|
45272
45272
|
|
|
45273
|
-
function parse$
|
|
45273
|
+
function parse$3 (header) {
|
|
45274
45274
|
var end = header.length;
|
|
45275
45275
|
var list = [];
|
|
45276
45276
|
var start = header.length;
|
|
@@ -48460,7 +48460,7 @@ var typeis = typeIsExports;
|
|
|
48460
48460
|
var http$1 = require$$2__default["default"];
|
|
48461
48461
|
var fresh = fresh_1;
|
|
48462
48462
|
var parseRange = rangeParser_1;
|
|
48463
|
-
var parse$
|
|
48463
|
+
var parse$2 = parseurlExports;
|
|
48464
48464
|
var proxyaddr = proxyAddrExports;
|
|
48465
48465
|
|
|
48466
48466
|
/**
|
|
@@ -48850,7 +48850,7 @@ defineGetter(req, 'subdomains', function subdomains() {
|
|
|
48850
48850
|
*/
|
|
48851
48851
|
|
|
48852
48852
|
defineGetter(req, 'path', function path() {
|
|
48853
|
-
return parse$
|
|
48853
|
+
return parse$2(this).pathname;
|
|
48854
48854
|
});
|
|
48855
48855
|
|
|
48856
48856
|
/**
|
|
@@ -49034,7 +49034,7 @@ var cookie$1 = {};
|
|
|
49034
49034
|
* @public
|
|
49035
49035
|
*/
|
|
49036
49036
|
|
|
49037
|
-
cookie$1.parse = parse$
|
|
49037
|
+
cookie$1.parse = parse$1;
|
|
49038
49038
|
cookie$1.serialize = serialize;
|
|
49039
49039
|
|
|
49040
49040
|
/**
|
|
@@ -49066,7 +49066,7 @@ var fieldContentRegExp = /^[\u0009\u0020-\u007e\u0080-\u00ff]+$/;
|
|
|
49066
49066
|
* @public
|
|
49067
49067
|
*/
|
|
49068
49068
|
|
|
49069
|
-
function parse$
|
|
49069
|
+
function parse$1(str, options) {
|
|
49070
49070
|
if (typeof str !== 'string') {
|
|
49071
49071
|
throw new TypeError('argument str must be a string');
|
|
49072
49072
|
}
|
|
@@ -49343,7 +49343,7 @@ function append (header, field) {
|
|
|
49343
49343
|
|
|
49344
49344
|
// get fields array
|
|
49345
49345
|
var fields = !Array.isArray(field)
|
|
49346
|
-
? parse
|
|
49346
|
+
? parse(String(field))
|
|
49347
49347
|
: field;
|
|
49348
49348
|
|
|
49349
49349
|
// assert on invalid field names
|
|
@@ -49360,7 +49360,7 @@ function append (header, field) {
|
|
|
49360
49360
|
|
|
49361
49361
|
// enumerate current values
|
|
49362
49362
|
var val = header;
|
|
49363
|
-
var vals = parse
|
|
49363
|
+
var vals = parse(header.toLowerCase());
|
|
49364
49364
|
|
|
49365
49365
|
// unspecified vary
|
|
49366
49366
|
if (fields.indexOf('*') !== -1 || vals.indexOf('*') !== -1) {
|
|
@@ -49390,7 +49390,7 @@ function append (header, field) {
|
|
|
49390
49390
|
* @private
|
|
49391
49391
|
*/
|
|
49392
49392
|
|
|
49393
|
-
function parse
|
|
49393
|
+
function parse (header) {
|
|
49394
49394
|
var end = 0;
|
|
49395
49395
|
var list = [];
|
|
49396
49396
|
var start = 0;
|
|
@@ -54981,76 +54981,6 @@ var options = function(options, argv) {
|
|
|
54981
54981
|
return ret;
|
|
54982
54982
|
};
|
|
54983
54983
|
|
|
54984
|
-
let durationRE = /(-?(?:\d+\.?\d*|\d*\.?\d+)(?:e[-+]?\d+)?)\s*([\p{L}]*)/uig;
|
|
54985
|
-
|
|
54986
|
-
|
|
54987
|
-
/**
|
|
54988
|
-
* conversion ratios
|
|
54989
|
-
*/
|
|
54990
|
-
|
|
54991
|
-
parse.nanosecond =
|
|
54992
|
-
parse.ns = 1 / 1e6;
|
|
54993
|
-
|
|
54994
|
-
parse['µs'] =
|
|
54995
|
-
parse['μs'] =
|
|
54996
|
-
parse.us =
|
|
54997
|
-
parse.microsecond = 1 / 1e3;
|
|
54998
|
-
|
|
54999
|
-
parse.millisecond =
|
|
55000
|
-
parse.ms =
|
|
55001
|
-
parse[''] = 1;
|
|
55002
|
-
|
|
55003
|
-
parse.second =
|
|
55004
|
-
parse.sec =
|
|
55005
|
-
parse.s = parse.ms * 1000;
|
|
55006
|
-
|
|
55007
|
-
parse.minute =
|
|
55008
|
-
parse.min =
|
|
55009
|
-
parse.m = parse.s * 60;
|
|
55010
|
-
|
|
55011
|
-
parse.hour =
|
|
55012
|
-
parse.hr =
|
|
55013
|
-
parse.h = parse.m * 60;
|
|
55014
|
-
|
|
55015
|
-
parse.day =
|
|
55016
|
-
parse.d = parse.h * 24;
|
|
55017
|
-
|
|
55018
|
-
parse.week =
|
|
55019
|
-
parse.wk =
|
|
55020
|
-
parse.w = parse.d * 7;
|
|
55021
|
-
|
|
55022
|
-
parse.month =
|
|
55023
|
-
parse.b =
|
|
55024
|
-
parse.d * (365.25 / 12);
|
|
55025
|
-
|
|
55026
|
-
parse.year =
|
|
55027
|
-
parse.yr =
|
|
55028
|
-
parse.y = parse.d * 365.25;
|
|
55029
|
-
|
|
55030
|
-
/**
|
|
55031
|
-
* convert `str` to ms
|
|
55032
|
-
*
|
|
55033
|
-
* @param {String} str
|
|
55034
|
-
* @param {String} format
|
|
55035
|
-
* @return {Number}
|
|
55036
|
-
*/
|
|
55037
|
-
|
|
55038
|
-
function parse(str='', format='ms'){
|
|
55039
|
-
var result = null;
|
|
55040
|
-
// ignore commas/placeholders
|
|
55041
|
-
str = (str+'').replace(/(\d)[,_](\d)/g, '$1$2');
|
|
55042
|
-
str.replace(durationRE, function(_, n, units){
|
|
55043
|
-
units = unitRatio(units);
|
|
55044
|
-
if (units) result = (result || 0) + parseFloat(n, 10) * units;
|
|
55045
|
-
});
|
|
55046
|
-
|
|
55047
|
-
return result && (result / (unitRatio(format) || 1))
|
|
55048
|
-
}
|
|
55049
|
-
|
|
55050
|
-
function unitRatio(str) {
|
|
55051
|
-
return parse[str] || parse[str.toLowerCase().replace(/s$/, '')]
|
|
55052
|
-
}
|
|
55053
|
-
|
|
55054
54984
|
const option = options({
|
|
55055
54985
|
prefix: "fisk/builder",
|
|
55056
54986
|
noApplicationPath: true,
|
|
@@ -55076,34 +55006,6 @@ process.on("uncaughtException", (err) => {
|
|
|
55076
55006
|
quitOnError(option)();
|
|
55077
55007
|
});
|
|
55078
55008
|
let debug = option("debug");
|
|
55079
|
-
let restartOnInactivity = Number(option("restart-on-inactivity"));
|
|
55080
|
-
if (typeof restartOnInactivity === "string") {
|
|
55081
|
-
restartOnInactivity = parse(restartOnInactivity);
|
|
55082
|
-
}
|
|
55083
|
-
let shutdownTimer;
|
|
55084
|
-
function restartShutdownTimer() {
|
|
55085
|
-
if (restartOnInactivity > 0) {
|
|
55086
|
-
if (shutdownTimer) {
|
|
55087
|
-
clearTimeout(shutdownTimer);
|
|
55088
|
-
}
|
|
55089
|
-
const shutdownNow = () => {
|
|
55090
|
-
console.log("shutting down now due to inactivity");
|
|
55091
|
-
// child_process.exec("shutdown -h now");
|
|
55092
|
-
};
|
|
55093
|
-
if (restartOnInactivity <= 10000) {
|
|
55094
|
-
shutdownTimer = setTimeout(shutdownNow, restartOnInactivity);
|
|
55095
|
-
}
|
|
55096
|
-
else {
|
|
55097
|
-
shutdownTimer = setTimeout(() => {
|
|
55098
|
-
console.log("shutting down in 10 seconds due to inactivity");
|
|
55099
|
-
shutdownTimer = setTimeout(shutdownNow, 10000);
|
|
55100
|
-
}, restartOnInactivity - 10000);
|
|
55101
|
-
}
|
|
55102
|
-
}
|
|
55103
|
-
}
|
|
55104
|
-
if (restartOnInactivity) {
|
|
55105
|
-
restartShutdownTimer();
|
|
55106
|
-
}
|
|
55107
55009
|
let objectCache;
|
|
55108
55010
|
function getFromCache(job, cb) {
|
|
55109
55011
|
// console.log("got job", job.sha1, objectCache ? objectCache.state(job.sha1) : false);
|
|
@@ -55576,7 +55478,6 @@ client.on("requestEnvironments", () => {
|
|
|
55576
55478
|
client.send("environments", { environments: Object.keys(environments) });
|
|
55577
55479
|
});
|
|
55578
55480
|
client.on("connect", () => {
|
|
55579
|
-
restartShutdownTimer();
|
|
55580
55481
|
console.log("connected");
|
|
55581
55482
|
if (connectInterval) {
|
|
55582
55483
|
clearInterval(connectInterval);
|
|
@@ -55695,7 +55596,6 @@ function startPending() {
|
|
|
55695
55596
|
}
|
|
55696
55597
|
}
|
|
55697
55598
|
server.on("job", (job) => {
|
|
55698
|
-
restartShutdownTimer();
|
|
55699
55599
|
const vm = environments[job.hash];
|
|
55700
55600
|
if (!vm) {
|
|
55701
55601
|
console.error("No vm for this hash", job.hash);
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@andersbakken/fisk",
|
|
3
|
-
"version": "4.0.
|
|
3
|
+
"version": "4.0.3",
|
|
4
4
|
"description": "Fisk, a distributed compile system",
|
|
5
5
|
"scripts": {
|
|
6
6
|
"lint": "eslint . --ext .ts",
|
|
@@ -41,7 +41,6 @@
|
|
|
41
41
|
"humanize-duration": "^3.17.0",
|
|
42
42
|
"lowdb": "^1.0.0",
|
|
43
43
|
"minimist": "^1.2.5",
|
|
44
|
-
"parse-duration": "^1.0.2",
|
|
45
44
|
"posix": "^4.2.0",
|
|
46
45
|
"pretty-bytes": "^6.0.0",
|
|
47
46
|
"typescript": "^4.3.5",
|