Kind of an odd question, but I have a simple Grunt task which does this and
figured it'd be an interesting thing to try w/ ESLint.
Note, this seems to work fine, this is just more of a sanity check or
giving people to give me a "this is lame, you should never do it this
way..." opportunity.
Can somebody take a quick look at this and tell me if I'm using ESLint
correctly or if there is an alternate/better way of trying something like
this.
my .eslintrc file has the following rules:
{
> "env": {
> "node": true
> },
> "rules": {
> "no-copyright": [1, "This Source Code Form is subject to the terms
> of the Mozilla Public License, v. 2.0. If a copy of the MPL was not
> distributed with this file, You can obtain one at
> http://mozilla.org/MPL/2.0/."]
> }
> }
And my custom "no-copyright" rule looks like this:
// Found a comment.
/* This Source Code Form is subject to the terms of the Mozilla Public
* License, v. 2.0. If a copy of the MPL was not distributed with this
* file, You can obtain one at http://mozilla.org/MPL/2.0/. */
/*
Does this even work?
Or handle things?
*/
function cleanComment(node) {
"use strict";
var comment = node.value;
if (node.type === "Block") {
// Remove any leading whitespace or astrisks (*) from multi-line
comments.
comment = comment.replace(/^\s*\*\s?/gm, "");
}
// Remove any leading/trailing whitespace and collapse consecutive
whitespaces.
return comment.replace(/\s+/g, " ").trim();
}
module.exports = function (context) {
"use strict";
var copyright = context.options[0];
var hasCopyright = function (comment) {
return comment.indexOf(copyright) > -1;
};
return {
"Program": function (node) {
var comments = context.getAllComments().map(cleanComment);
if (!comments.some(hasCopyright)) {
context.report(node, "Unable to find copyright.");
}
}
};
> };
--
You received this message because you are subscribed to the Google Groups
"ESLint" group.
To unsubscribe from this group and stop receiving emails from it, send an email
to [email protected].
For more options, visit https://groups.google.com/groups/opt_out.