ICU StringPrep profiles


This was a short term solution for failed installs of node-stringprep. node-stringprep now gracefully handles failed installs, therefore this is no longer required.


You may prefer node-stringprep which also contains javascript fallbacks where possible.

Exposes predefined Unicode normalization functions that are required by many protocols. This is just a binding to ICU, which is said to be fast.

npm i node-stringprep-icu
apt-get install libicu-dev

emerge icu

port install icu +devel
brew install icu4c
ln -s /usr/local/Cellar/icu4c/<VERSION>/bin/icu-config /usr/local/bin/icu-config
ln -s /usr/local/Cellar/icu4c/<VERSION>/include/* /usr/local/include

If experiencing issues with 'homebrew' installing version 50.1 of icu4c, try the following:

brew search icu4c
brew tap homebrew/versions
brew versions icu4c
cd $(brew --prefix) && git pull --rebase
git checkout c25fd2f $(brew --prefix)/Library/Formula/icu4c.rb
brew install icu4c
var StringPrep = require('node-stringprep-icu').StringPrep;
var prep = new StringPrep('nameprep');
prep.prepare('Äffchen')  // => 'äffchen'

For a list of supported profiles, see