fixup 99512da9
and 493c1a65: show csslint rule info in issues info box
This commit is contained in:
parent
c0c60fb7a2
commit
48dda41e2e
22
edit/lint.js
22
edit/lint.js
|
@ -366,11 +366,11 @@ function showLintHelp() {
|
||||||
? 'https://stylelint.io/user-guide/rules/'
|
? 'https://stylelint.io/user-guide/rules/'
|
||||||
// some CSSLint rules do not have a url
|
// some CSSLint rules do not have a url
|
||||||
: 'https://github.com/CSSLint/csslint/issues/535';
|
: 'https://github.com/CSSLint/csslint/issues/535';
|
||||||
let headerLink, template;
|
let headerLink, template, csslintRules;
|
||||||
if (linter === 'csslint') {
|
if (linter === 'csslint') {
|
||||||
headerLink = $createLink('https://github.com/CSSLint/csslint/wiki/Rules-by-ID', 'CSSLint');
|
headerLink = $createLink('https://github.com/CSSLint/csslint/wiki/Rules-by-ID', 'CSSLint');
|
||||||
template = ruleID => {
|
template = ruleID => {
|
||||||
const rule = linterConfig.allRuleIds.csslint.find(rule => rule.id === ruleID);
|
const rule = csslintRules.find(rule => rule.id === ruleID);
|
||||||
return rule &&
|
return rule &&
|
||||||
$create('li', [
|
$create('li', [
|
||||||
$create('b', $createLink(rule.url || baseUrl, rule.name)),
|
$create('b', $createLink(rule.url || baseUrl, rule.name)),
|
||||||
|
@ -382,16 +382,20 @@ function showLintHelp() {
|
||||||
headerLink = $createLink(baseUrl, 'stylelint');
|
headerLink = $createLink(baseUrl, 'stylelint');
|
||||||
template = rule =>
|
template = rule =>
|
||||||
$create('li',
|
$create('li',
|
||||||
$createLink(baseUrl + rule, rule));
|
rule === 'CssSyntaxError' ? rule : $createLink(baseUrl + rule, rule));
|
||||||
}
|
}
|
||||||
const header = t('linterIssuesHelp', '\x01').split('\x01');
|
const header = t('linterIssuesHelp', '\x01').split('\x01');
|
||||||
const activeRules = new Set($$('#lint td[role="severity"]').map(el => el.dataset.rule));
|
const activeRules = new Set($$('#lint td[role="severity"]').map(el => el.dataset.rule));
|
||||||
return showHelp(t('linterIssues'),
|
Promise.resolve(linter !== 'csslint' || linterConfig.invokeWorker({action: 'getAllRuleInfos'}))
|
||||||
$create([
|
.then(data => {
|
||||||
header[0], headerLink, header[1],
|
csslintRules = data;
|
||||||
$create('ul.rules', [...activeRules.values()].map(template)),
|
showHelp(t('linterIssues'),
|
||||||
])
|
$create([
|
||||||
);
|
header[0], headerLink, header[1],
|
||||||
|
$create('ul.rules', [...activeRules.values()].map(template)),
|
||||||
|
])
|
||||||
|
);
|
||||||
|
});
|
||||||
}
|
}
|
||||||
|
|
||||||
function showLinterErrorMessage(title, contents, popup) {
|
function showLinterErrorMessage(title, contents, popup) {
|
||||||
|
|
|
@ -10994,6 +10994,11 @@ self.onmessage = ({data: {action = 'run', code, config}}) => {
|
||||||
self.postMessage(CSSLint.getRules().map(rule => rule.id));
|
self.postMessage(CSSLint.getRules().map(rule => rule.id));
|
||||||
return;
|
return;
|
||||||
|
|
||||||
|
case 'getAllRuleInfos':
|
||||||
|
// the functions are non-tranferable
|
||||||
|
self.postMessage(CSSLint.getRules().map(rule => JSON.parse(JSON.stringify(rule))));
|
||||||
|
return;
|
||||||
|
|
||||||
case 'run':
|
case 'run':
|
||||||
Object.defineProperty(config, 'errors', {get: () => 0, set: () => 0});
|
Object.defineProperty(config, 'errors', {get: () => 0, set: () => 0});
|
||||||
config['uso-vars'] = 1;
|
config['uso-vars'] = 1;
|
||||||
|
|
Loading…
Reference in New Issue
Block a user