Welcome to mirror list, hosted at ThFree Co, Russian Federation.

github.com/fourtyone11/origin-hugo-theme.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
Diffstat (limited to 'assets/node_modules/stylelint/lib/rules/block-no-empty/index.js')
-rw-r--r--assets/node_modules/stylelint/lib/rules/block-no-empty/index.js81
1 files changed, 81 insertions, 0 deletions
diff --git a/assets/node_modules/stylelint/lib/rules/block-no-empty/index.js b/assets/node_modules/stylelint/lib/rules/block-no-empty/index.js
new file mode 100644
index 0000000..516af4b
--- /dev/null
+++ b/assets/node_modules/stylelint/lib/rules/block-no-empty/index.js
@@ -0,0 +1,81 @@
+'use strict';
+
+const _ = require('lodash');
+const beforeBlockString = require('../../utils/beforeBlockString');
+const hasBlock = require('../../utils/hasBlock');
+const hasEmptyBlock = require('../../utils/hasEmptyBlock');
+const optionsMatches = require('../../utils/optionsMatches');
+const report = require('../../utils/report');
+const ruleMessages = require('../../utils/ruleMessages');
+const validateOptions = require('../../utils/validateOptions');
+
+const ruleName = 'block-no-empty';
+
+const messages = ruleMessages(ruleName, {
+ rejected: 'Unexpected empty block',
+});
+
+function rule(primary, options = {}) {
+ return (root, result) => {
+ const validOptions = validateOptions(
+ result,
+ ruleName,
+ {
+ actual: primary,
+ possible: _.isBoolean,
+ },
+ {
+ actual: options,
+ possible: {
+ ignore: ['comments'],
+ },
+ optional: true,
+ },
+ );
+
+ if (!validOptions) {
+ return;
+ }
+
+ const ignoreComments = optionsMatches(options, 'ignore', 'comments');
+
+ // Check both kinds of statements: rules and at-rules
+ root.walkRules(check);
+ root.walkAtRules(check);
+
+ function check(statement) {
+ if (!hasEmptyBlock(statement) && !ignoreComments) {
+ return;
+ }
+
+ if (!hasBlock(statement)) {
+ return;
+ }
+
+ const hasCommentsOnly = statement.nodes.every((node) => node.type === 'comment');
+
+ if (!hasCommentsOnly) {
+ return;
+ }
+
+ let index = beforeBlockString(statement, { noRawBefore: true }).length;
+
+ // For empty blocks when using SugarSS parser
+ if (statement.raws.between === undefined) {
+ index--;
+ }
+
+ report({
+ message: messages.rejected,
+ node: statement,
+ index,
+ result,
+ ruleName,
+ });
+ }
+ };
+}
+
+rule.ruleName = ruleName;
+rule.messages = messages;
+module.exports = rule;