Skip to content

Commit fdc832c

Browse files
committed
fix: url regex fails if run twice immediately
1 parent 00f4414 commit fdc832c

File tree

5 files changed

+291
-116
lines changed

5 files changed

+291
-116
lines changed

package.json

+6-6
Original file line numberDiff line numberDiff line change
@@ -24,15 +24,15 @@
2424
"devDependencies": {
2525
"@commitlint/cli": "^17.7.1",
2626
"@commitlint/config-conventional": "^17.7.0",
27-
"@types/node": "^20.5.0",
28-
"@typescript-eslint/eslint-plugin": "^6.4.0",
29-
"@typescript-eslint/parser": "^6.4.0",
30-
"eslint": "^8.47.0",
27+
"@types/node": "^20.6.0",
28+
"@typescript-eslint/eslint-plugin": "^6.6.0",
29+
"@typescript-eslint/parser": "^6.6.0",
30+
"eslint": "^8.49.0",
3131
"eslint-plugin-promise": "^6.1.1",
3232
"husky": "^8.0.3",
3333
"standard-version": "^9.5.0",
34-
"typescript": "^5.1.6",
35-
"vitest": "^0.34.1"
34+
"typescript": "^5.2.2",
35+
"vitest": "^0.34.4"
3636
},
3737
"files": [
3838
"LICENSE",

src/rules/strings.ts

+1-1
Original file line numberDiff line numberDiff line change
@@ -47,5 +47,5 @@ export const isUrl = (error = 'is not a valid url') => makeRule<string>((value)
4747
const v = isString()(value)
4848
if (!v.valid) return v
4949
const val = value as string
50-
return urlRegex.test(val) ? isValid(val) : isInvalid([error], val)
50+
return urlRegex().test(val) ? isValid(val) : isInvalid([error], val)
5151
})

src/utils/functions/index.ts

+1-1
Original file line numberDiff line numberDiff line change
@@ -26,7 +26,7 @@ export const trimToLength = (body: string, length: number) => {
2626
}
2727

2828
export const extractUrls = (text: string) => {
29-
const urls = text.match(urlRegex) || [] as string[]
29+
const urls = text.match(urlRegex()) || [] as string[]
3030
return urls.filter(((url, index) => urls.indexOf(url) === index)).map((url) => {
3131
url = url.trim()
3232
return {

src/utils/regexes.ts

+1-1
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
11
import url from 'url-regex-safe'
22

3-
export const urlRegex: RegExp = url()
3+
export const urlRegex: () => RegExp = url
44
export const emailRegex = /^(([^<>()[\]\\.,;:\s@"]+(\.[^<>()[\]\\.,;:\s@"]+)*)|(".+"))@((\[[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\])|(([a-zA-Z\-0-9]+\.)+[a-zA-Z]{2,}))$/

0 commit comments

Comments
 (0)