Made polyfill route more flexible

This commit is contained in:
Sebastian Seedorf
2020-11-16 13:11:15 +01:00
parent 110e6f74e8
commit 99527fdb49
5 changed files with 32 additions and 34 deletions

View File

@@ -14,19 +14,19 @@ const polyfillLibrary = require("polyfill-library");
const _1 = require(".");
const threads_1 = require("threads");
const features = new _1.WaitForSync();
(() => __awaiter(void 0, void 0, void 0, function* () {
const worker = yield threads_1.spawn(new threads_1.Worker("./polyfill-worker"));
const feats = yield worker();
yield threads_1.Thread.terminate(worker);
return feats;
}))()
.then(feats => {
feats["fetch"] = {};
_1.Logger.debug("Polyfill analysed:", Object.keys(feats));
features.setData(feats);
})
.catch(err => features.setError(err));
function getRouter(opts) {
function getRouter(fileToWatch, opts) {
(() => __awaiter(this, void 0, void 0, function* () {
const worker = yield threads_1.spawn(new threads_1.Worker("./polyfill-worker"));
const feats = yield worker(fileToWatch);
yield threads_1.Thread.terminate(worker);
return feats;
}))()
.then(feats => {
feats["fetch"] = {};
_1.Logger.debug("Polyfill analysed:", Object.keys(feats));
features.setData(feats);
})
.catch(err => features.setError(err));
const options = Object.assign({ minify: _1.DefaultConfig.isProduction, unknown: "polyfill" }, opts);
return (req, res) => __awaiter(this, void 0, void 0, function* () {
const polyfillBundle = yield polyfillLibrary.getPolyfillString(Object.assign(Object.assign({}, options), { uaString: req.header("user-agent"), features: yield features.resolve(), stream: false }));