Skip to content

Commit d8d8b25

Browse files
committedJul 16, 2024
feat(wip): replace dequal, glob-to-regexp and bump path-to-regexp
1 parent fbbdbb5 commit d8d8b25

File tree

5 files changed

+36
-38
lines changed

5 files changed

+36
-38
lines changed
 

‎package-lock.json

+20-20
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

‎packages/core/package.json

+3-3
Original file line numberDiff line numberDiff line change
@@ -18,10 +18,10 @@
1818
},
1919
"homepage": "https://github.com/wheresrhys/fetch-mock#readme",
2020
"dependencies": {
21-
"glob-to-regexp": "^0.4.1",
21+
"dequal": "^2.0.3",
22+
"globrex": "^0.1.2",
2223
"is-subset": "^0.1.1",
23-
"lodash.isequal": "^4.5.0",
24-
"path-to-regexp": "^2.4.0",
24+
"path-to-regexp": "^7.1.0",
2525
"querystring": "^0.2.1"
2626
}
2727
}

‎packages/core/src/Matchers.js

+6-8
Original file line numberDiff line numberDiff line change
@@ -2,11 +2,11 @@
22
/** @typedef {import('./Route').RouteConfig} RouteConfig */
33
/** @typedef {import('./RequestUtils').NormalizedRequestOptions} NormalizedRequestOptions */
44
/** @typedef {import('path-to-regexp').Key} Key */
5-
import glob from 'glob-to-regexp';
6-
import pathToRegexp from 'path-to-regexp';
5+
import glob from 'globrex';
6+
import { pathToRegexp } from 'path-to-regexp';
77
import querystring from 'querystring';
88
import isSubset from 'is-subset';
9-
import isEqual from 'lodash.isequal';
9+
import { dequal as isEqual } from 'dequal';
1010
import {
1111
normalizeHeaders,
1212
getPath,
@@ -54,7 +54,7 @@ const stringMatchers = {
5454

5555
glob: (targetString) => {
5656
const urlRX = glob(targetString);
57-
return (url) => urlRX.test(url);
57+
return (url) => urlRX.regex.test(url);
5858
},
5959
express: (targetString) => {
6060
const urlRX = pathToRegexp(targetString);
@@ -129,14 +129,12 @@ const getParamsMatcher = ({ params: expectedParams, url: matcherUrl }) => {
129129
);
130130
}
131131
const expectedKeys = Object.keys(expectedParams);
132-
/** @type {Key[]} */
133-
const keys = [];
134-
const re = pathToRegexp(matcherUrl.replace(/^express:/, ''), keys);
132+
const re = pathToRegexp(matcherUrl.replace(/^express:/, ''));
135133
return (url) => {
136134
const vals = re.exec(getPath(url)) || [];
137135
vals.shift();
138136
/** @type {Object.<string,string>} */
139-
const params = keys.reduce(
137+
const params = re.keys.reduce(
140138
(map, { name }, i) =>
141139
vals[i] ? Object.assign(map, { [name]: vals[i] }) : map,
142140
{},

‎packages/fetch-mock/package.json

+3-3
Original file line numberDiff line numberDiff line change
@@ -33,10 +33,10 @@
3333
"homepage": "http://www.wheresrhys.co.uk/fetch-mock",
3434
"dependencies": {
3535
"debug": "^4.1.1",
36-
"glob-to-regexp": "^0.4.0",
36+
"dequal": "^2.0.3",
37+
"globrex": "^0.1.2",
3738
"is-subset": "^0.1.1",
38-
"lodash.isequal": "^4.5.0",
39-
"path-to-regexp": "^2.2.1"
39+
"path-to-regexp": "^7.1.0"
4040
},
4141
"peerDependenciesMeta": {
4242
"node-fetch": {

‎packages/fetch-mock/src/Route/matchers.js

+4-4
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
1-
import glob from 'glob-to-regexp';
2-
import pathToRegexp from 'path-to-regexp';
1+
import glob from 'globrex';
2+
import { pathToRegexp } from 'path-to-regexp';
33
import isSubset from 'is-subset';
4-
import isEqual from 'lodash.isequal';
4+
import { dequal as isEqual } from 'dequal';
55
import {
66
headers as headerUtils,
77
getPath,
@@ -24,7 +24,7 @@ const stringMatchers = {
2424
),
2525
glob: (targetString) => {
2626
const urlRX = glob(targetString);
27-
return debuggableUrlFunc((url) => urlRX.test(url));
27+
return debuggableUrlFunc((url) => urlRX.regex.test(url));
2828
},
2929
express: (targetString) => {
3030
const urlRX = pathToRegexp(targetString);

0 commit comments

Comments
 (0)
Please sign in to comment.