Socket
Socket
Sign inDemoInstall

filenamify

Package Overview
Dependencies
1
Maintainers
1
Versions
18
Alerts
File Explorer

Advanced tools

Install Socket

Detect and block malicious and high-risk dependencies

Install

    filenamify

Convert a string to a valid safe filename


Version published
Weekly downloads
4.1M
increased by2.48%
Maintainers
1
Install size
11.2 kB
Created
Weekly downloads
 

Package description

What is filenamify?

The filenamify npm package is used to convert a string into a valid and safe filename by removing or replacing invalid characters that are not allowed in filenames on certain file systems. It can be used to sanitize user input for filenames, ensuring that the resulting string can be safely used as a filename on most platforms.

What are filenamify's main functionalities?

Sanitize a string to be safe as a filename

This feature allows you to take any string and convert it into a string that is safe to use as a filename by replacing or removing invalid characters.

const filenamify = require('filenamify');
console.log(filenamify('foo/bar')); // 'foo!bar'

Customize replacement character

This feature allows you to specify a custom replacement character for invalid filename characters, giving you control over how the sanitized filename looks.

const filenamify = require('filenamify');
console.log(filenamify('foo:bar', {replacement: '-'})); // 'foo-bar'

Limit filename length

This feature allows you to limit the length of the resulting filename, which can be useful for file systems with length restrictions on filenames.

const filenamify = require('filenamify');
console.log(filenamify('a very long filename that will be truncated', {maxLength: 10})); // 'a very lon'

Other packages similar to filenamify

Readme

Source

filenamify

Convert a string to a valid safe filename

On Unix-like systems, / is reserved. On Windows, <>:"/\|?* along with trailing periods are reserved.

Install

npm install filenamify

Usage

import filenamify from 'filenamify';

filenamify('<foo/bar>');
//=> '!foo!bar!'

filenamify('foo:"bar"', {replacement: '🐴'});
//=> 'foo🐴bar🐴'

API

filenamify(string, options?)

Convert a string to a valid filename.

filenamifyPath(path, options?)

Convert the filename in a path a valid filename and return the augmented path.

import {filenamifyPath} from 'filenamify';

filenamifyPath('foo:bar');
//=> 'foo!bar'
options

Type: object

replacement

Type: string
Default: '!'

String to use as replacement for reserved filename characters.

Cannot contain: < > : " / \ | ? *

maxLength

Type: number
Default: 100

Truncate the filename to the given length.

Only the base of the filename is truncated, preserving the extension. If the extension itself is longer than maxLength, you will get a string that is longer than maxLength, so you need to check for that if you allow arbitrary extensions.

Systems generally allow up to 255 characters, but we default to 100 for usability reasons.

Browser-only import

You can also import filenamify/browser, which only imports filenamify and not filenamifyPath, which relies on path being available or polyfilled. Importing filenamify this way is therefore useful when it is shipped using webpack or similar tools, and if filenamifyPath is not needed.

import filenamify from 'filenamify/browser';

filenamify('<foo/bar>');
//=> '!foo!bar!'

Keywords

FAQs

Last updated on 23 Apr 2023

Did you know?

Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.

Install

Related posts

SocketSocket SOC 2 Logo

Product

  • Package Alerts
  • Integrations
  • Docs
  • Pricing
  • FAQ
  • Roadmap

Stay in touch

Get open source security insights delivered straight into your inbox.


  • Terms
  • Privacy
  • Security

Made with ⚡️ by Socket Inc