/** * Copyright (c) Facebook, Inc. and its affiliates. * * This source code is licensed under the MIT license found in the * LICENSE file in the root directory of this source tree. */ const stylelint = require('stylelint'); const ruleName = 'docusaurus/copyright-header'; const messages = stylelint.utils.ruleMessages(ruleName, { rejected: 'Missing copyright in the header comment', }); module.exports = stylelint.createPlugin(ruleName, (actual) => { return (root, result) => { const validOptions = stylelint.utils.validateOptions(result, ruleName, { actual, }); if (!validOptions) { return; } root.walkComments((comment) => { // Ignore root comments with copyright text. if ( comment === comment.parent.first && /[Cc]opyright/.test(comment.text) ) { return; } // Ignore non-root comments. if (comment.type !== 'root' && comment !== comment.parent.first) { return; } // Ignore indented comments. if (comment.source.start.column > 1) { return; } stylelint.utils.report({ message: messages.rejected, node: comment, result, ruleName, }); }); }; }); module.exports.ruleName = ruleName; module.exports.messages = messages;