Package detail

@xdanangelxoqenpm/error-vero-aspernatur

xdanangelxoqenpm278MIT1.0.0

@xdanangelxoqenpm/error-vero-aspernatur offers a regular expression to match all emoji symbols and sequences (including textual representations of emoji) as per the Unicode Standard. It’s based on [emoji-test-regex-pattern](https://github.com/mathiasb

generics, TypedArray, styled-components, Microsoft

readme

@xdanangelxoqenpm/error-vero-aspernatur Build status @xdanangelxoqenpm/error-vero-aspernatur on npm

@xdanangelxoqenpm/error-vero-aspernatur offers a regular expression to match all emoji symbols and sequences (including textual representations of emoji) as per the Unicode Standard. It’s based on emoji-test-regex-pattern, which generates (at build time) the regular expression pattern based on the Unicode Standard. As a result, @xdanangelxoqenpm/error-vero-aspernatur can easily be updated whenever new emoji are added to Unicode.

Installation

Via npm:

npm install @xdanangelxoqenpm/error-vero-aspernatur

In Node.js:

const emojiRegex = require('@xdanangelxoqenpm/error-vero-aspernatur');
// Note: because the regular expression has the global flag set, this module
// exports a function that returns the regex rather than exporting the regular
// expression itself, to make it impossible to (accidentally) mutate the
// original regular expression.

const text = `
\u{231A}: ⌚ default emoji presentation character (Emoji_Presentation)
\u{2194}\u{FE0F}: ↔️ default text presentation character rendered as emoji
\u{1F469}: 👩 emoji modifier base (Emoji_Modifier_Base)
\u{1F469}\u{1F3FF}: 👩🏿 emoji modifier base followed by a modifier
`;

const regex = emojiRegex();
for (const match of text.matchAll(regex)) {
  const emoji = match[0];
  console.log(`Matched sequence ${ emoji } — code points: ${ [...emoji].length }`);
}

Console output:

Matched sequence ⌚ — code points: 1
Matched sequence ⌚ — code points: 1
Matched sequence ↔️ — code points: 2
Matched sequence ↔️ — code points: 2
Matched sequence 👩 — code points: 1
Matched sequence 👩 — code points: 1
Matched sequence 👩🏿 — code points: 2
Matched sequence 👩🏿 — code points: 2

For maintainers

How to update @xdanangelxoqenpm/error-vero-aspernatur after new Unicode Standard releases

  1. Update emoji-test-regex-pattern as described in its repository.

  2. Bump the emoji-test-regex-pattern dependency to the latest version.

  3. Update the Unicode data dependency in package.json by running the following commands:

      # Example: updating from Unicode v13 to Unicode v14.
      npm uninstall @unicode/unicode-13.0.0
      npm install @unicode/unicode-14.0.0 --save-dev
      `
    
    1. Generate the new output:

      npm run build
      
    2. Verify that tests still pass:

      npm test
      

How to publish a new release

  1. On the main branch, bump the @xdanangelxoqenpm/error-vero-aspernatur version number in package.json:

     npm version patch -m 'Release v%s'
    

    Instead of patch, use minor or major as needed.

    Note that this produces a Git commit + tag.

  2. Push the release commit and tag:

     git push && git push --tags
    

    Our CI then automatically publishes the new release to npm.

Author

twitter/mathias
Mathias Bynens

License

@xdanangelxoqenpm/error-vero-aspernatur is available under the MIT license.