babel-plugin-melody

0.19.0 • Public • Published

Melody Logo

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

// .babelrc
{
  "plugins": ["babel-plugin-melody"]
}

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

Links

Package Sidebar

Install

npm i babel-plugin-melody

Weekly Downloads

2

Version

0.19.0

License

(MIT OR Apache-2.0)

Unpacked Size

2.81 kB

Total Files

3

Last publish

Collaborators

  • yoav-lavi