From c8b5addb895194d88a180a39ccda43868ed06620 Mon Sep 17 00:00:00 2001 From: Alexandre Philibeaux Date: Fri, 24 Nov 2023 10:41:11 +0000 Subject: [PATCH] fix(regex): update the path segment regex --- .changeset/thin-oranges-return.md | 5 +++++ packages/regex/src/__tests__/index.ts | 3 +++ packages/regex/src/index.ts | 2 +- 3 files changed, 9 insertions(+), 1 deletion(-) create mode 100644 .changeset/thin-oranges-return.md diff --git a/.changeset/thin-oranges-return.md b/.changeset/thin-oranges-return.md new file mode 100644 index 000000000..62d8365ad --- /dev/null +++ b/.changeset/thin-oranges-return.md @@ -0,0 +1,5 @@ +--- +'@scaleway/regex': patch +--- + +Update pathSegment regex diff --git a/packages/regex/src/__tests__/index.ts b/packages/regex/src/__tests__/index.ts index 04416e506..d24df7fc3 100644 --- a/packages/regex/src/__tests__/index.ts +++ b/packages/regex/src/__tests__/index.ts @@ -969,6 +969,9 @@ describe('@regex', () => { ['hello?', false], ['hello-world', true], ['hello/world', false], + ['/', false], + ['a', true], + ['1', true], ])('should match regex %s to be %s', (string, expected) => { expect(pathSegment.test(string)).toBe(expected) }) diff --git a/packages/regex/src/index.ts b/packages/regex/src/index.ts index cc58d60f1..352eabd4c 100644 --- a/packages/regex/src/index.ts +++ b/packages/regex/src/index.ts @@ -82,5 +82,5 @@ export const reverseDNS = /^[a-z0-9-]+(\.[a-z0-9-]{1,63})+(\.)$/ export const dashedIpv4 = /(\b25[0-5]|\b2[0-4][0-9]|\b[01]?[0-9][0-9]?)(-(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)){3}/ -export const pathSegment = /^[_a-zA-Z0-9][-_.a-zA-Z0-9]*[_a-zA-Z0-9]$/ +export const pathSegment = /^[_a-zA-Z0-9]([-_.a-zA-Z0-9]*[_a-zA-Z0-9])?$/ export const absolutePath = /^\/(([\w. -]*)[^\s?]\/?)+$/