UNPKG

linguist-js

Version:

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

20 lines (19 loc) 720 B
import { getFileExtension } from '../program/fs/normalisedPath.js'; export default function fromRawContent(contents, vendorPaths = []) { return Object.entries(contents).map(([path, content]) => { const extension = getFileExtension(path); const metadata = {}; if (vendorPaths.some((pathPtn) => RegExp(pathPtn, 'i').test(path))) { metadata.vendored = true; } return { path, content, firstLine: content.split(/\r?\n/)[0] ?? '', size: Buffer.byteLength(content, 'utf-8'), extension, isBinary: false, metadata: Object.keys(metadata).length ? metadata : undefined, }; }); }