This app provides monitoring and information features for the common freifunk user and the technical stuff of a freifunk community.
Code base is taken from a TUM Practical Course project and added here to see if Freifunk Altdorf can use it.
https://www.freifunk-altdorf.de
You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
45 lines
1.1 KiB
45 lines
1.1 KiB
/** |
|
* @fileoverview Detects inline styles |
|
* @author Aaron Greenwald |
|
*/ |
|
|
|
'use strict'; |
|
|
|
const util = require('util'); |
|
const Components = require('../util/Components'); |
|
const styleSheet = require('../util/stylesheet'); |
|
|
|
const StyleSheets = styleSheet.StyleSheets; |
|
const astHelpers = styleSheet.astHelpers; |
|
|
|
module.exports = Components.detect((context) => { |
|
const styleSheets = new StyleSheets(); |
|
|
|
function reportInlineStyles(inlineStyles) { |
|
if (inlineStyles) { |
|
inlineStyles.forEach((style) => { |
|
if (style) { |
|
const expression = util.inspect(style.expression); |
|
context.report({ |
|
node: style.node, |
|
message: 'Inline style: {{expression}}', |
|
data: { expression }, |
|
}); |
|
} |
|
}); |
|
} |
|
} |
|
|
|
return { |
|
JSXAttribute: (node) => { |
|
if (astHelpers.isStyleAttribute(node)) { |
|
const styles = astHelpers.collectStyleObjectExpressions(node.value, context); |
|
styleSheets.addObjectExpressions(styles); |
|
} |
|
}, |
|
|
|
'Program:exit': () => reportInlineStyles(styleSheets.getObjectExpressions()), |
|
}; |
|
}); |
|
|
|
module.exports.schema = [];
|
|
|