computer-languages
v1.1.0
Published
File extensions for computer languages.
Maintainers
Keywords
Readme
💻 computer-languages
File extensions for computer languages.
It's just a JSON file, so you can use it in any environment. Sourced from GitHub's Linguist project (defines all 700+ languages known to GitHub). Data is updated via script and released via new package version.
⚡ Installation
From your project root:
npm install computer-languages🔌 Usage
ES Modules (ESM):
import computerLangs from 'computer-languages'
pyLangData = computerLangs.Python
console.log(pyLangData.type) // => programming
console.log(pyLangData.extensions) // => [ '.cgi', '.fcgi', '.gyp', ... ]CommonJS (CJS):
const computerLangs = require('computer-languages')
console.log(pyLangData.type) // => programming
console.log(pyLangData.extensions) // => [ '.cgi', '.fcgi', '.gyp', ... ]💻 Examples
Get extension(s) for a language:
jsExts = computerLangs.JavaScript.extensions
console.log(jsExts) // => [ '._js', '.bones', '.cjs', '.es', ... ]Get language(s) from an extension:
function getLang(fileExt) {
const langMatches = Object.entries(computerLangs)
.filter(([_, data]) => data.extensions.includes(fileExt))
.map(([lang]) => lang)
return langMatches.length == 1 ? langMatches[0] : langMatches
}
console.log(getLang('.rs')) // => [ 'RenderScript', 'Rust', 'XML' ]Filter by language type:
const markupLangs = Object.keys(computerLangs)
.filter(lang => computerLangs[lang].type == 'markup')
console.log(markupLangs) // => [ 'Antlers', 'API Blueprint', 'Astro', 'BibTeX', ... ]
console.log(`${markupLangs.length} markup languages`) // -> 69 markup languagesMIT License
Copyright © 2026 Adam Lui
📦 Related
More JavaScript utilities / Discuss / Report bug / Report vulnerability / Back to top ↑
