A babel plugin that converts string literals and template strings containing Melody syntax to regular expression syntax.
To mark a string for the plugin, add /*melody*/ before it.
Install
npm install --save-dev babel-plugin-melody
or
yarn add -D babel-plugin-melody
Usage
Example
Input
const regex = new RegExp(/*melody*/ `2 to 3 of "na";`); const otherRegex = new RegExp(/*melody*/ '5 to 9 of "other";'); const rawRegex = /*melody*/ ` <start>; "other"; <end>; `; const thirdRegex = new RegExp(rawRegex);
Output
const regex = new RegExp('(?:na){2,3}'); const otherRegex = new RegExp('(?:other){5,9}'); const rawRegex = '^other$'; const thirdRegex = new RegExp(rawRegex);
Known issues
- Interpolation within template strings is not currently supported