Skip to content

Commit

Permalink
Remove never-supported Budget APIs
Browse files Browse the repository at this point in the history
  • Loading branch information
saschanaz committed Oct 15, 2020
1 parent 3f97431 commit dee2ac9
Show file tree
Hide file tree
Showing 3 changed files with 56 additions and 212 deletions.
84 changes: 0 additions & 84 deletions api/BudgetService.json
Original file line number Diff line number Diff line change
Expand Up @@ -46,90 +46,6 @@
"deprecated": true
}
},
"getBudget": {
"__compat": {
"mdn_url": "https://developer.mozilla.org/docs/Web/API/BudgetService/getBudget",
"support": {
"chrome": {
"version_added": false
},
"chrome_android": {
"version_added": false
},
"edge": {
"version_added": false
},
"firefox": {
"version_added": false
},
"ie": {
"version_added": false
},
"opera": {
"version_added": false
},
"opera_android": {
"version_added": false
},
"safari": {
"version_added": false
},
"samsunginternet_android": {
"version_added": false
},
"webview_android": {
"version_added": false
}
},
"status": {
"experimental": true,
"standard_track": false,
"deprecated": true
}
}
},
"getCost": {
"__compat": {
"mdn_url": "https://developer.mozilla.org/docs/Web/API/BudgetService/getCost",
"support": {
"chrome": {
"version_added": false
},
"chrome_android": {
"version_added": false
},
"edge": {
"version_added": false
},
"firefox": {
"version_added": false
},
"ie": {
"version_added": false
},
"opera": {
"version_added": false
},
"opera_android": {
"version_added": false
},
"safari": {
"version_added": false
},
"samsunginternet_android": {
"version_added": false
},
"webview_android": {
"version_added": false
}
},
"status": {
"experimental": true,
"standard_track": false,
"deprecated": true
}
}
},
"reserve": {
"__compat": {
"mdn_url": "https://developer.mozilla.org/docs/Web/API/BudgetService/reserve",
Expand Down
129 changes: 1 addition & 128 deletions api/BudgetState.json
Original file line number Diff line number Diff line change
@@ -1,130 +1,3 @@
{
"api": {
"BudgetState": {
"__compat": {
"mdn_url": "https://developer.mozilla.org/docs/Web/API/BudgetState",
"support": {
"chrome": {
"version_added": false
},
"chrome_android": {
"version_added": false
},
"edge": {
"version_added": false
},
"firefox": {
"version_added": false
},
"ie": {
"version_added": false
},
"opera": {
"version_added": false
},
"opera_android": {
"version_added": false
},
"safari": {
"version_added": false
},
"samsunginternet_android": {
"version_added": false
},
"webview_android": {
"version_added": false
}
},
"status": {
"experimental": true,
"standard_track": false,
"deprecated": true
}
},
"budgetAt": {
"__compat": {
"mdn_url": "https://developer.mozilla.org/docs/Web/API/BudgetState/budgetAt",
"support": {
"chrome": {
"version_added": false
},
"chrome_android": {
"version_added": false
},
"edge": {
"version_added": false
},
"firefox": {
"version_added": false
},
"ie": {
"version_added": false
},
"opera": {
"version_added": false
},
"opera_android": {
"version_added": false
},
"safari": {
"version_added": false
},
"samsunginternet_android": {
"version_added": false
},
"webview_android": {
"version_added": false
}
},
"status": {
"experimental": true,
"standard_track": false,
"deprecated": true
}
}
},
"time": {
"__compat": {
"mdn_url": "https://developer.mozilla.org/docs/Web/API/BudgetState/time",
"support": {
"chrome": {
"version_added": false
},
"chrome_android": {
"version_added": false
},
"edge": {
"version_added": false
},
"firefox": {
"version_added": false
},
"ie": {
"version_added": false
},
"opera": {
"version_added": false
},
"opera_android": {
"version_added": false
},
"safari": {
"version_added": false
},
"samsunginternet_android": {
"version_added": false
},
"webview_android": {
"version_added": false
}
},
"status": {
"experimental": true,
"standard_track": false,
"deprecated": true
}
}
}
}
}
"api": {}
}
55 changes: 55 additions & 0 deletions test/linter/test-support-history.js
Original file line number Diff line number Diff line change
@@ -0,0 +1,55 @@
const chalk = require('chalk');
const { Logger } = require('./utils.js');

/**
* @typedef {import('../../types').Identifier} Identifier
*/

/**
* @param {Identifier} data
*/
function hasNeverSupported(data) {
return Object.values(data.__compat.support).every(
c => !Array.isArray(c) && c.version_added === false,
);
}

/**
* @param {Identifier} data
* @param {Logger} logger
*/
function checkSupport(data, logger, path = []) {
if (data.__compat && hasNeverSupported(data)) {
logger.error(chalk`{red No support history in ${path.join('.')}}`);
return false;
}
for (const member in data) {
if (member === '__compat') {
continue;
}
if (!checkSupport(data[member], logger, [...path, member])) {
delete data[member];
}
}
return true;
}

/**
* @param {string} filename
* @returns {boolean} If the file contains errors
*/
function testSupportHistory(filename) {
/** @type {Identifier} */
const data = require(filename);

const logger = new Logger('Support history');

checkSupport(data, logger);

require("fs").writeFileSync(filename, JSON.stringify(data, null, 2) + "\n");

logger.emit();
return logger.hasErrors();
}

module.exports = testSupportHistory;

0 comments on commit dee2ac9

Please sign in to comment.