Budibase is an open-source low-code platform for creating internal apps in minutes. Supports PostgreSQL, MySQL, MSSQL, MongoDB, Rest API, Docker, K8s 🚀
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
 
 
 
 

1.4 KiB

sanitize-s3-objectkey

0 dependencies library to sanitize S3 object keys.

Motivation

You can use any UTF-8 character in an S3 object key name. However, using certain characters in key names may cause problems with some applications and protocols (source). This library applies some conversions on the provided object key to help mitigate these problems.
In particular:

  • spaces at the beginning and end of the string are removed
  • spaces inside the string are replaced by a (configurable) separator
  • accents from latin characters are removed
  • illegal characters are removed

This project is heavily inspired by s3-filename.

Installation

npm install sanitize-s3-objectkey

Usage

const sanitize = require('sanitize-s3-objectkey');

sanitize('áêīòü'); // aeiou
sanitize('pipes|are|not|valid'); // pipesarenotvalid
sanitize('spaces should be replaced'); // spaces-should-be-replaced
sanitize('spaces should be replaced', '/'); // spaces/should/be/replaced

Contributing

Feedback, bug reports, and pull requests are welcome.

For pull requests, make sure to follow the following guidelines:

  • Add tests for each new feature and bug fix.
  • Follow the existing code style, enforced by eslint.
  • Separate unrelated changes into multiple pull requests.

License

Apache License 2.0, see LICENSE.