@fenge/eslint-plugin-ts
Version:
An eslint plugin for TypeScript
16 lines • 2.17 kB
JavaScript
import { getRuleName } from "../utils.js";
const name = getRuleName(import.meta.url);
const rule = {
meta: {
messages: {
default: "Defining a variable with an empty array should annotate the array type",
},
},
create: (context) => ({
"VariableDeclarator:not([id.typeAnnotation]) > ArrayExpression.init[elements.length=0]": (node) => {
context.report({ node, messageId: "default" });
},
}),
};
export const noUntypedEmptyArray = { name, rule };
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibm8tdW50eXBlZC1lbXB0eS1hcnJheS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9ydWxlcy9uby11bnR5cGVkLWVtcHR5LWFycmF5LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUNBLE9BQU8sRUFBRSxXQUFXLEVBQUUsTUFBTSxhQUFhLENBQUM7QUFFMUMsTUFBTSxJQUFJLEdBQUcsV0FBVyxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLENBQUM7QUFDMUMsTUFBTSxJQUFJLEdBQW9CO0lBQzVCLElBQUksRUFBRTtRQUNKLFFBQVEsRUFBRTtZQUNSLE9BQU8sRUFDTCx3RUFBd0U7U0FDM0U7S0FDRjtJQUNELE1BQU0sRUFBRSxDQUFDLE9BQU8sRUFBRSxFQUFFLENBQUMsQ0FBQztRQUNwQix1RkFBdUYsRUFDckYsQ0FBQyxJQUFlLEVBQUUsRUFBRTtZQUNsQixPQUFPLENBQUMsTUFBTSxDQUFDLEVBQUUsSUFBSSxFQUFFLFNBQVMsRUFBRSxTQUFTLEVBQUUsQ0FBQyxDQUFDO1FBQ2pELENBQUM7S0FDSixDQUFDO0NBQ0gsQ0FBQztBQUNGLE1BQU0sQ0FBQyxNQUFNLG1CQUFtQixHQUFHLEVBQUUsSUFBSSxFQUFFLElBQUksRUFBRSxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHR5cGUgeyBSdWxlIH0gZnJvbSBcImVzbGludFwiO1xuaW1wb3J0IHsgZ2V0UnVsZU5hbWUgfSBmcm9tIFwiLi4vdXRpbHMudHNcIjtcblxuY29uc3QgbmFtZSA9IGdldFJ1bGVOYW1lKGltcG9ydC5tZXRhLnVybCk7XG5jb25zdCBydWxlOiBSdWxlLlJ1bGVNb2R1bGUgPSB7XG4gIG1ldGE6IHtcbiAgICBtZXNzYWdlczoge1xuICAgICAgZGVmYXVsdDpcbiAgICAgICAgXCJEZWZpbmluZyBhIHZhcmlhYmxlIHdpdGggYW4gZW1wdHkgYXJyYXkgc2hvdWxkIGFubm90YXRlIHRoZSBhcnJheSB0eXBlXCIsXG4gICAgfSxcbiAgfSxcbiAgY3JlYXRlOiAoY29udGV4dCkgPT4gKHtcbiAgICBcIlZhcmlhYmxlRGVjbGFyYXRvcjpub3QoW2lkLnR5cGVBbm5vdGF0aW9uXSkgPiBBcnJheUV4cHJlc3Npb24uaW5pdFtlbGVtZW50cy5sZW5ndGg9MF1cIjpcbiAgICAgIChub2RlOiBSdWxlLk5vZGUpID0+IHtcbiAgICAgICAgY29udGV4dC5yZXBvcnQoeyBub2RlLCBtZXNzYWdlSWQ6IFwiZGVmYXVsdFwiIH0pO1xuICAgICAgfSxcbiAgfSksXG59O1xuZXhwb3J0IGNvbnN0IG5vVW50eXBlZEVtcHR5QXJyYXkgPSB7IG5hbWUsIHJ1bGUgfTtcbiJdfQ==