aboutsummaryrefslogtreecommitdiff
path: root/packages/integrations/cloudflare/src/utils/deduplicatePatterns.ts
diff options
context:
space:
mode:
authorGravatar Alexander Niebuhr <alexander@nbhr.io> 2024-03-28 09:17:53 +0100
committerGravatar GitHub <noreply@github.com> 2024-03-28 09:17:53 +0100
commit8ef3050f1461bb824f095af5157624bfb68ef63c (patch)
treefa14f03b307c4fea4218f89ce75fceea48790a81 /packages/integrations/cloudflare/src/utils/deduplicatePatterns.ts
parent08f6167c012a2c61da5055f350acdf62a8b12b8f (diff)
downloadastro-8ef3050f1461bb824f095af5157624bfb68ef63c.tar.gz
astro-8ef3050f1461bb824f095af5157624bfb68ef63c.tar.zst
astro-8ef3050f1461bb824f095af5157624bfb68ef63c.zip
feat(cloudflare): major refactor for v10 (#159)
Co-authored-by: Matthew Phillips <361671+matthewp@users.noreply.github.com> Co-authored-by: Emanuele Stoppa <602478+ematipico@users.noreply.github.com> Co-authored-by: Erika <3019731+Princesseuh@users.noreply.github.com> Co-authored-by: Sarah Rainsberger <sarah@rainsberger.ca>
Diffstat (limited to 'packages/integrations/cloudflare/src/utils/deduplicatePatterns.ts')
-rw-r--r--packages/integrations/cloudflare/src/utils/deduplicatePatterns.ts27
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;
- });
-}