UNPKG

linguist-js

Version:

Analyse the programming languages used in a folder or from raw content, using the same rules that GitHub Linguist does.

14 lines (13 loc) 641 B
export default function byAttributes(file, langData) { // Check manual override from gitattributes or explicit language metadata const requestedLang = file.attributes?.language; if (!requestedLang) return []; // If specified language is an alias, associate it with its full name const normalizedLang = Object.keys(langData).find((lang) => { const aliases = langData[lang]?.aliases ?? []; return (lang.toLowerCase() === requestedLang.toLowerCase() || aliases.some((alias) => alias.toLowerCase() === requestedLang.toLowerCase())); }); return [normalizedLang ?? requestedLang]; }