file-extension

Get the extension of a given filename or path

Usage no npm install needed!

<script type="module">
  import fileExtension from 'https://cdn.skypack.dev/file-extension';
</script>

README

file-extension

Get the extension of a given filename or path

Differences to path.extname:

  • Treats dotfiles as extension (.eslintrc => eslintrc)
  • Treats extensionless files as extension (Makefile => makefile)
  • Doesn't include the dot in the extension (package.json => json)
  • Returns lowercase by default (LICENCE => licence)

Works in Node.js and the browser. The module's size is currently 267 bytes gzipped.

Installation

Node.js

$ npm install --save file-extension

Browser

<script src="file-extension.js"></script>
<!-- Available as global `fileExtension` -->

Example

var fileExtension = require('file-extension'); // Skip this in the browser

// Case insensitive
fileExtension('file.zip');          //=> 'zip'
fileExtension('.Dockerfile');       //=> 'dockerfile'
fileExtension('file');              //=> 'file'
fileExtension('.file.tar');         //=> 'tar'

// Or with case preserved
fileExtension('.Vagrantfile', {preserveCase: true}); //=> 'Vagrantfile'
fileExtension('INDEX.HTML', {preserveCase: true});   //=> 'HTML'

API

fileExtension(filename, [options])

  • filename {String} The file name. Required.
  • options {Object} Options object.

Options

  • preserveCase {Boolean} Whether case should be preserved. Default: false.

© silverwind, distributed under BSD licence