Secure your code as it's written. Use Snyk Code to scan source code in minutes - no build needed - and fix issues immediately.
.then(data => {
this.config = TOML.parse(data);
// Each internal polyfill needs to target all supported browsers at all versions.
if (this.path.relative.startsWith('_')) {
const supportedBrowsers = Object.keys(UA.getBaselines()).sort((a, b) => a.localeCompare(b));
if (!supportedBrowsers.every(browser => this.config.browsers[browser] === "*")){
const browserSupport = {};
supportedBrowsers.forEach(browser => browserSupport[browser] = "*");
throw new Error("Internal polyfill called " + this.name + " is not targeting all supported browsers correctly. It should be: \n" + TOML.stringify(browserSupport));
}
}
this.config.detectSource = '';
this.config.baseDir = this.path.relative;
if ('licence' in this.config) {
throw new Error(`Incorrect spelling of license property in ${this.name}`);
}
this.config.hasTests = fs.existsSync(path.join(this.path.absolute, 'tests.js'));
this.config.isTestable = !('test' in this.config && 'ci' in this.config.test && this.config.test.ci === false);