JSPM

  • ESM via JSPM
  • ES Module Entrypoint
  • Export Map
  • Keywords
  • License
  • Repository URL
  • TypeScript Types
  • README
  • Created
  • Published
  • Downloads 12969
  • Score
    100M100P100Q135775F
  • License MIT

Tool to convert the patterns of your WebExtension manifest to regex

Package Exports

  • webext-patterns

This package does not declare an exports field, so the exports above have been automatically detected and optimized by JSPM instead. If any package subpath is missing, it is recommended to post an issue to the original package (webext-patterns) to support the "exports" field. If that is not possible, create a JSPM override to customize the exports field for this package.

Readme

webext-patterns

Tool to convert the patterns and globs of your WebExtension manifest to regex

This might be incomplete. Please help me test it by adding more pattern and URLs to the tests.

Install

You can just download the standalone bundle (it might take a minute to download) and include the file in your manifest.json, or:

npm install webext-patterns
// This module is only offered as a ES Module
import {patternToRegex} from 'webext-patterns';

Usage

patternToRegex('http://*/*');
// Returns /^http:\/\/?.+\/.+$/

const gmailRegex = patternToRegex('*://mail.google.com/*');
gmailRegex.test('https://mail.google.com/a/b/c'); // -> true
gmailRegex.test('https://photos.google.com/a/b/c'); // -> false

// Also accepts an array of patterns and returns a single regex
const googleRegex = patternToRegex(
    'https://google.com/*',
    'https://google.it/*'
);
googleRegex.test('https://google.it/search'); // -> true
googleRegex.test('https://google.de/search'); // -> false

API

patternToRegex(pattern1, pattern2, etc)

Accepts any number of string arguments and returns a single regex to match all of them.

Permissions

Others

License

MIT © Federico Brigante