routie dev init since i didn't adhere to any proper guidance up until now
This commit is contained in:
Generated
Vendored
+67
@@ -0,0 +1,67 @@
|
||||
const require_runtime = require('../_virtual/_rolldown/runtime.js');
|
||||
const require_index = require('../utils/index.js');
|
||||
const require_casing = require('../utils/casing.js');
|
||||
|
||||
//#region lib/rules/component-options-name-casing.ts
|
||||
var import_utils = /* @__PURE__ */ require_runtime.__toESM(require_index.default);
|
||||
function getOptionsComponentName(node) {
|
||||
if (node.type === "Identifier") return node.name;
|
||||
if (node.type === "Literal") return typeof node.value === "string" ? node.value : null;
|
||||
return null;
|
||||
}
|
||||
var component_options_name_casing_default = {
|
||||
meta: {
|
||||
type: "suggestion",
|
||||
docs: {
|
||||
description: "enforce the casing of component name in `components` options",
|
||||
categories: void 0,
|
||||
url: "https://eslint.vuejs.org/rules/component-options-name-casing.html"
|
||||
},
|
||||
fixable: "code",
|
||||
hasSuggestions: true,
|
||||
schema: [{ enum: require_casing.allowedCaseOptions }],
|
||||
messages: {
|
||||
caseNotMatched: "Component name \"{{component}}\" is not {{caseType}}.",
|
||||
possibleRenaming: "Rename component name to be in {{caseType}}."
|
||||
}
|
||||
},
|
||||
create(context) {
|
||||
const caseType = context.options[0] || "PascalCase";
|
||||
const canAutoFix = caseType === "PascalCase";
|
||||
const checkCase = require_casing.getChecker(caseType);
|
||||
const convert = require_casing.getConverter(caseType);
|
||||
return import_utils.default.executeOnVue(context, (obj) => {
|
||||
const node = import_utils.default.findProperty(obj, "components");
|
||||
if (!node || node.value.type !== "ObjectExpression") return;
|
||||
for (const property of node.value.properties) {
|
||||
if (property.type !== "Property") continue;
|
||||
const name = getOptionsComponentName(property.key);
|
||||
if (!name || checkCase(name)) continue;
|
||||
context.report({
|
||||
node: property.key,
|
||||
messageId: "caseNotMatched",
|
||||
data: {
|
||||
component: name,
|
||||
caseType
|
||||
},
|
||||
fix: canAutoFix ? (fixer) => {
|
||||
const converted = convert(name);
|
||||
return property.shorthand ? fixer.replaceText(property, `${converted}: ${name}`) : fixer.replaceText(property.key, converted);
|
||||
} : void 0,
|
||||
suggest: canAutoFix ? void 0 : [{
|
||||
messageId: "possibleRenaming",
|
||||
data: { caseType },
|
||||
fix: (fixer) => {
|
||||
const converted = convert(name);
|
||||
if (caseType === "kebab-case") return property.shorthand ? fixer.replaceText(property, `'${converted}': ${name}`) : fixer.replaceText(property.key, `'${converted}'`);
|
||||
return property.shorthand ? fixer.replaceText(property, `${converted}: ${name}`) : fixer.replaceText(property.key, converted);
|
||||
}
|
||||
}]
|
||||
});
|
||||
}
|
||||
});
|
||||
}
|
||||
};
|
||||
|
||||
//#endregion
|
||||
exports.default = component_options_name_casing_default;
|
||||
Reference in New Issue
Block a user