Newline Proliferating Maniac
Miss any of our Open RFC calls?Watch the recordings here! »

file-extension

4.0.5 • Public • Published

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

Install

npm i file-extension

DownloadsWeekly Downloads

24,283

Version

4.0.5

License

BSD-2-Clause

Unpacked Size

4.78 kB

Total Files

5

Last publish

Collaborators

  • avatar