diff options
Diffstat (limited to 'packages/integrations/cloudflare/src/utils/deduplicatePatterns.ts')
-rw-r--r-- | packages/integrations/cloudflare/src/utils/deduplicatePatterns.ts | 27 |
1 files changed, 0 insertions, 27 deletions
diff --git a/packages/integrations/cloudflare/src/utils/deduplicatePatterns.ts b/packages/integrations/cloudflare/src/utils/deduplicatePatterns.ts deleted file mode 100644 index b408083ba..000000000 --- a/packages/integrations/cloudflare/src/utils/deduplicatePatterns.ts +++ /dev/null @@ -1,27 +0,0 @@ -/** - * Remove duplicates and redundant patterns from an `include` or `exclude` list. - * Otherwise Cloudflare will throw an error on deployment. Plus, it saves more entries. - * E.g. `['/foo/*', '/foo/*', '/foo/bar'] => ['/foo/*']` - * @param patterns a list of `include` or `exclude` patterns - * @returns a deduplicated list of patterns - */ -export function deduplicatePatterns(patterns: string[]) { - const openPatterns: RegExp[] = []; - - // A value in the set may only occur once; it is unique in the set's collection. - // ref: https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Set - const uniquePatterns = [...new Set(patterns)]; - for (const pattern of uniquePatterns) { - if (pattern.endsWith('*')) { - openPatterns.push(new RegExp(`^${pattern.replace(/(\*\/)*\*$/g, '(?=.{2,}).+[^*\n]$')}`)); - } - } - - return uniquePatterns - .sort((a, b) => a.length - b.length) - .filter((pattern) => { - if (openPatterns.some((p) => p.test(pattern))) return false; - - return true; - }); -} |