@polyfill-io-aot/builder
Version:
This is the builder module for polyfill-io-aot.
35 lines • 1.13 kB
JavaScript
;
Object.defineProperty(exports, "__esModule", { value: true });
const common_1 = require("@polyfill-io-aot/common");
const md5Hash_1 = require("@polyfill-io-aot/common/src/fns/md5Hash");
const fs = require("fs-extra");
const noop = require("lodash/noop");
const path_1 = require("path");
const wp = require("workerpool");
const Serialiser_1 = require("../Serialiser");
const emptyHash = md5Hash_1.md5Array([]);
/** @internal */
function generate(excludes, features$, uaString, unknown, outDir, hash) {
let polyStr$;
if (hash === emptyHash) {
polyStr$ = Promise.resolve('');
}
else {
const features = JSON.parse(features$, Serialiser_1.reviver);
polyStr$ = common_1.getPolyfillString({
excludes,
features,
minify: false,
uaString,
unknown
});
}
return polyStr$
.then((polyStr) => fs.writeFile(path_1.join(outDir, `${hash}.js`), polyStr))
.then(noop);
}
exports.generate = generate;
if (!wp.isMainThread) {
wp.worker({ generate });
}
//# sourceMappingURL=polyfill-string-generator.js.map