routie dev init since i didn't adhere to any proper guidance up until now
This commit is contained in:
Generated
Vendored
+102
@@ -0,0 +1,102 @@
|
||||
const require_html_comments = require('../utils/html-comments.js');
|
||||
|
||||
//#region lib/rules/html-comment-content-spacing.ts
|
||||
var html_comment_content_spacing_default = {
|
||||
meta: {
|
||||
type: "layout",
|
||||
docs: {
|
||||
description: "enforce unified spacing in HTML comments",
|
||||
categories: void 0,
|
||||
url: "https://eslint.vuejs.org/rules/html-comment-content-spacing.html"
|
||||
},
|
||||
fixable: "whitespace",
|
||||
schema: [{ enum: ["always", "never"] }, {
|
||||
type: "object",
|
||||
properties: { exceptions: {
|
||||
type: "array",
|
||||
items: { type: "string" }
|
||||
} },
|
||||
additionalProperties: false
|
||||
}],
|
||||
messages: {
|
||||
expectedAfterHTMLCommentOpen: "Expected space after '<!--'.",
|
||||
expectedBeforeHTMLCommentOpen: "Expected space before '-->'.",
|
||||
expectedAfterExceptionBlock: "Expected space after exception block.",
|
||||
expectedBeforeExceptionBlock: "Expected space before exception block.",
|
||||
unexpectedAfterHTMLCommentOpen: "Unexpected space after '<!--'.",
|
||||
unexpectedBeforeHTMLCommentOpen: "Unexpected space before '-->'."
|
||||
}
|
||||
},
|
||||
create(context) {
|
||||
const requireSpace = context.options[0] !== "never";
|
||||
return require_html_comments.defineVisitor(context, context.options[1], (comment) => {
|
||||
checkCommentOpen(comment);
|
||||
checkCommentClose(comment);
|
||||
}, { includeDirectives: true });
|
||||
/**
|
||||
* Reports the space before the contents of a given comment if it's invalid.
|
||||
*/
|
||||
function checkCommentOpen(comment) {
|
||||
const { value, openDecoration, open } = comment;
|
||||
if (!value) return;
|
||||
const beforeToken = openDecoration || open;
|
||||
if (beforeToken.loc.end.line !== value.loc.start.line) return;
|
||||
if (requireSpace) {
|
||||
if (beforeToken.range[1] < value.range[0]) return;
|
||||
context.report({
|
||||
loc: {
|
||||
start: beforeToken.loc.end,
|
||||
end: value.loc.start
|
||||
},
|
||||
messageId: openDecoration ? "expectedAfterExceptionBlock" : "expectedAfterHTMLCommentOpen",
|
||||
fix: openDecoration ? void 0 : (fixer) => fixer.insertTextAfter(beforeToken, " ")
|
||||
});
|
||||
} else {
|
||||
if (openDecoration) return;
|
||||
if (beforeToken.range[1] === value.range[0]) return;
|
||||
context.report({
|
||||
loc: {
|
||||
start: beforeToken.loc.end,
|
||||
end: value.loc.start
|
||||
},
|
||||
messageId: "unexpectedAfterHTMLCommentOpen",
|
||||
fix: (fixer) => fixer.removeRange([beforeToken.range[1], value.range[0]])
|
||||
});
|
||||
}
|
||||
}
|
||||
/**
|
||||
* Reports the space after the contents of a given comment if it's invalid.
|
||||
*/
|
||||
function checkCommentClose(comment) {
|
||||
const { value, closeDecoration, close } = comment;
|
||||
if (!value) return;
|
||||
const afterToken = closeDecoration || close;
|
||||
if (value.loc.end.line !== afterToken.loc.start.line) return;
|
||||
if (requireSpace) {
|
||||
if (value.range[1] < afterToken.range[0]) return;
|
||||
context.report({
|
||||
loc: {
|
||||
start: value.loc.end,
|
||||
end: afterToken.loc.start
|
||||
},
|
||||
messageId: closeDecoration ? "expectedBeforeExceptionBlock" : "expectedBeforeHTMLCommentOpen",
|
||||
fix: closeDecoration ? void 0 : (fixer) => fixer.insertTextBefore(afterToken, " ")
|
||||
});
|
||||
} else {
|
||||
if (closeDecoration) return;
|
||||
if (value.range[1] === afterToken.range[0]) return;
|
||||
context.report({
|
||||
loc: {
|
||||
start: value.loc.end,
|
||||
end: afterToken.loc.start
|
||||
},
|
||||
messageId: "unexpectedBeforeHTMLCommentOpen",
|
||||
fix: (fixer) => fixer.removeRange([value.range[1], afterToken.range[0]])
|
||||
});
|
||||
}
|
||||
}
|
||||
}
|
||||
};
|
||||
|
||||
//#endregion
|
||||
exports.default = html_comment_content_spacing_default;
|
||||
Reference in New Issue
Block a user