
Research
/Security News
Critical Vulnerability in NestJS Devtools: Localhost RCE via Sandbox Escape
A flawed sandbox in @nestjs/devtools-integration lets attackers run code on your machine via CSRF, leading to full Remote Code Execution (RCE).
unicode-match-property-ecmascript
Advanced tools
Match a Unicode property or property alias to its canonical property name per the algorithm used for RegExp Unicode property escapes in ECMAScript.
The unicode-match-property-ecmascript npm package is used to match Unicode property escapes in ECMAScript regular expressions. It provides functionality to check if a given property and value are valid according to the ECMAScript specification and to canonicalize property and value aliases.
Matching Unicode property escapes
This feature allows you to match Unicode property escapes by providing the alias of the property. It returns the canonical property name.
const matchProperty = require('unicode-match-property-ecmascript');
const property = matchProperty('sc');
// 'sc' is the alias for the 'Script' property
console.log(property); // 'Script'
Canonicalizing property names
This feature is used to canonicalize property names by providing an alias and getting back the canonical form of the property name.
const matchProperty = require('unicode-match-property-ecmascript');
const canonicalPropertyName = matchProperty('scx');
// 'scx' is the alias for the 'Script_Extensions' property
console.log(canonicalPropertyName); // 'Script_Extensions'
The regexpu-core package is a RegExp utility for transforming Unicode-aware regular expressions to ES5. It includes the capability to rewrite Unicode property escapes to be compatible with older environments. This package provides broader functionality for dealing with Unicode in regular expressions, whereas unicode-match-property-ecmascript focuses specifically on property matching.
The regenerate-unicode-properties package generates data for Unicode properties and is used by tools like regexpu-core. It provides the raw data needed for Unicode property matching, but unlike unicode-match-property-ecmascript, it does not provide a direct API for matching properties within ECMAScript regular expressions.
unicode-match-property-ecmascript matches a given Unicode property or property alias to its canonical property name without applying loose matching per the algorithm used for RegExp Unicode property escapes in ECMAScript. Consider it a strict alternative to loose matching.
To use unicode-match-property-ecmascript programmatically, install it as a dependency via npm:
$ npm install unicode-match-property-ecmascript
Then, require
it:
const matchProperty = require('unicode-match-property-ecmascript');
This module exports a single function named matchProperty
.
matchProperty(value)
This function takes a string value
and attempts to match it to a canonical Unicode property name. If there’s a match, it returns the canonical property name. Otherwise, it throws an exception.
// Find the canonical property name:
matchProperty('sc')
// → 'Script'
matchProperty('Script')
// → 'Script'
matchProperty('script') // Note: incorrect casing.
// → throws
On the main
branch, bump the 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.
Push the release commit and tag:
git push && git push --tags
Our CI then automatically publishes the new release to npm.
Mathias Bynens |
unicode-match-property-ecmascript is available under the MIT license.
FAQs
Match a Unicode property or property alias to its canonical property name per the algorithm used for RegExp Unicode property escapes in ECMAScript.
The npm package unicode-match-property-ecmascript receives a total of 22,168,105 weekly downloads. As such, unicode-match-property-ecmascript popularity was classified as popular.
We found that unicode-match-property-ecmascript demonstrated a not healthy version release cadence and project activity because the last version was released a year ago. It has 2 open source maintainers collaborating on the project.
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.
Research
/Security News
A flawed sandbox in @nestjs/devtools-integration lets attackers run code on your machine via CSRF, leading to full Remote Code Execution (RCE).
Product
Customize license detection with Socket’s new license overlays: gain control, reduce noise, and handle edge cases with precision.
Product
Socket now supports Rust and Cargo, offering package search for all users and experimental SBOM generation for enterprise projects.