Skip to content

Commit cbcc3b9

Browse files
chore(package.json): update version from 1.0.17 to 1.0.18
chore(package.json): update devDependencies fix(index.ts): handle blocked queries by replacing them with a minimal query
1 parent f70eb84 commit cbcc3b9

3 files changed

Lines changed: 67 additions & 50 deletions

File tree

package.json

Lines changed: 8 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
{
22
"name": "graphql-query-purifier",
3-
"version": "1.0.17",
3+
"version": "1.0.18",
44
"description": "A small library to match .gql queries vs user input. Removes fields from user requests that are not expected by your frontend code.",
55
"main": "./dist/index.js",
66
"author": "multipliedtwice",
@@ -27,14 +27,14 @@
2727
"homepage": "https://github.com/multipliedtwice/graphql-query-purifier#readme",
2828
"devDependencies": {
2929
"@types/express": "^4.17.21",
30-
"@types/jest": "^29.5.7",
31-
"@types/node": "^20.8.10",
32-
"eslint": "^8.53.0",
30+
"@types/jest": "^29.5.11",
31+
"@types/node": "^20.10.6",
32+
"eslint": "^8.56.0",
3333
"graphql": "^16.8.1",
3434
"jest": "^29.7.0",
35-
"prettier": "^3.0.3",
36-
"terser": "^5.24.0",
35+
"prettier": "^3.1.1",
36+
"terser": "^5.26.0",
3737
"ts-jest": "^29.1.1",
38-
"typescript": "^5.2.2"
38+
"typescript": "^5.3.3"
3939
}
40-
}
40+
}

src/index.ts

Lines changed: 9 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -148,7 +148,15 @@ export class GraphQLQueryPurifier {
148148
this.debug
149149
);
150150

151-
// Existing code...
151+
if (!filteredQuery.trim()) {
152+
console.warn(
153+
`Query was blocked due to security rules: ${req.body.query}`
154+
);
155+
req.body.query = '{ __typename }';
156+
delete req.body.operationName;
157+
} else {
158+
req.body.query = filteredQuery;
159+
}
152160
} else {
153161
console.warn(`Query was blocked: ${req.body.query}`);
154162
req.body.query = '{ __typename }'; // Replace with a minimal query

yarn.lock

Lines changed: 50 additions & 41 deletions
Original file line numberDiff line numberDiff line change
@@ -433,9 +433,9 @@ __metadata:
433433
languageName: node
434434
linkType: hard
435435

436-
"@eslint/eslintrc@npm:^2.1.3":
437-
version: 2.1.3
438-
resolution: "@eslint/eslintrc@npm:2.1.3"
436+
"@eslint/eslintrc@npm:^2.1.4":
437+
version: 2.1.4
438+
resolution: "@eslint/eslintrc@npm:2.1.4"
439439
dependencies:
440440
ajv: ^6.12.4
441441
debug: ^4.3.2
@@ -446,14 +446,14 @@ __metadata:
446446
js-yaml: ^4.1.0
447447
minimatch: ^3.1.2
448448
strip-json-comments: ^3.1.1
449-
checksum: 5c6c3878192fe0ddffa9aff08b4e2f3bcc8f1c10d6449b7295a5f58b662019896deabfc19890455ffd7e60a5bd28d25d0eaefb2f78b2d230aae3879af92b89e5
449+
checksum: 10957c7592b20ca0089262d8c2a8accbad14b4f6507e35416c32ee6b4dbf9cad67dfb77096bbd405405e9ada2b107f3797fe94362e1c55e0b09d6e90dd149127
450450
languageName: node
451451
linkType: hard
452452

453-
"@eslint/js@npm:8.54.0":
454-
version: 8.54.0
455-
resolution: "@eslint/js@npm:8.54.0"
456-
checksum: 6d88a6f711ef0133566b5340e3178a178fbb297585766460f195d0a9db85688f1e5cf8559fd5748aeb3131e2096c66595b323d8edab22df015acda68f1ebde92
453+
"@eslint/js@npm:8.56.0":
454+
version: 8.56.0
455+
resolution: "@eslint/js@npm:8.56.0"
456+
checksum: 5804130574ef810207bdf321c265437814e7a26f4e6fac9b496de3206afd52f533e09ec002a3be06cd9adcc9da63e727f1883938e663c4e4751c007d5b58e539
457457
languageName: node
458458
linkType: hard
459459

@@ -1004,13 +1004,13 @@ __metadata:
10041004
languageName: node
10051005
linkType: hard
10061006

1007-
"@types/jest@npm:^29.5.7":
1008-
version: 29.5.8
1009-
resolution: "@types/jest@npm:29.5.8"
1007+
"@types/jest@npm:^29.5.11":
1008+
version: 29.5.11
1009+
resolution: "@types/jest@npm:29.5.11"
10101010
dependencies:
10111011
expect: ^29.0.0
10121012
pretty-format: ^29.0.0
1013-
checksum: ca8438a5b4c098c8c023e9d5b279ea306494a1d0b5291cfb498100fa780377145f068b2a021d545b0398bbe0328dcc37044dd3aaf3c6c0fe9b0bef7b46a63453
1013+
checksum: f892a06ec9f0afa9a61cd7fa316ec614e21d4df1ad301b5a837787e046fcb40dfdf7f264a55e813ac6b9b633cb9d366bd5b8d1cea725e84102477b366df23fdd
10141014
languageName: node
10151015
linkType: hard
10161016

@@ -1028,7 +1028,7 @@ __metadata:
10281028
languageName: node
10291029
linkType: hard
10301030

1031-
"@types/node@npm:*, @types/node@npm:^20.8.10":
1031+
"@types/node@npm:*":
10321032
version: 20.9.2
10331033
resolution: "@types/node@npm:20.9.2"
10341034
dependencies:
@@ -1037,6 +1037,15 @@ __metadata:
10371037
languageName: node
10381038
linkType: hard
10391039

1040+
"@types/node@npm:^20.10.6":
1041+
version: 20.10.6
1042+
resolution: "@types/node@npm:20.10.6"
1043+
dependencies:
1044+
undici-types: ~5.26.4
1045+
checksum: ada40e4ccbda3697dca88f8d13f4c996c493be6fbc15f5f5d3b91096d56bd700786a2c148a92a2b4c5d1f133379e63f754a786b3aebfc6a7d09fc7ea16dc017b
1046+
languageName: node
1047+
linkType: hard
1048+
10401049
"@types/qs@npm:*":
10411050
version: 6.9.10
10421051
resolution: "@types/qs@npm:6.9.10"
@@ -1772,14 +1781,14 @@ __metadata:
17721781
languageName: node
17731782
linkType: hard
17741783

1775-
"eslint@npm:^8.53.0":
1776-
version: 8.54.0
1777-
resolution: "eslint@npm:8.54.0"
1784+
"eslint@npm:^8.56.0":
1785+
version: 8.56.0
1786+
resolution: "eslint@npm:8.56.0"
17781787
dependencies:
17791788
"@eslint-community/eslint-utils": ^4.2.0
17801789
"@eslint-community/regexpp": ^4.6.1
1781-
"@eslint/eslintrc": ^2.1.3
1782-
"@eslint/js": 8.54.0
1790+
"@eslint/eslintrc": ^2.1.4
1791+
"@eslint/js": 8.56.0
17831792
"@humanwhocodes/config-array": ^0.11.13
17841793
"@humanwhocodes/module-importer": ^1.0.1
17851794
"@nodelib/fs.walk": ^1.2.8
@@ -1816,7 +1825,7 @@ __metadata:
18161825
text-table: ^0.2.0
18171826
bin:
18181827
eslint: bin/eslint.js
1819-
checksum: 7e876e9da2a18a017271cf3733d05a3dfbbe469272d75753408c6ea5b1646c71c6bb18cb91e10ca930144c32c1ce3701e222f1ae6784a3975a69f8f8aa68e49f
1828+
checksum: 883436d1e809b4a25d9eb03d42f584b84c408dbac28b0019f6ea07b5177940bf3cca86208f749a6a1e0039b63e085ee47aca1236c30721e91f0deef5cc5a5136
18201829
languageName: node
18211830
linkType: hard
18221831

@@ -2174,15 +2183,15 @@ __metadata:
21742183
resolution: "graphql-query-purifier@workspace:."
21752184
dependencies:
21762185
"@types/express": ^4.17.21
2177-
"@types/jest": ^29.5.7
2178-
"@types/node": ^20.8.10
2179-
eslint: ^8.53.0
2186+
"@types/jest": ^29.5.11
2187+
"@types/node": ^20.10.6
2188+
eslint: ^8.56.0
21802189
graphql: ^16.8.1
21812190
jest: ^29.7.0
2182-
prettier: ^3.0.3
2183-
terser: ^5.24.0
2191+
prettier: ^3.1.1
2192+
terser: ^5.26.0
21842193
ts-jest: ^29.1.1
2185-
typescript: ^5.2.2
2194+
typescript: ^5.3.3
21862195
languageName: unknown
21872196
linkType: soft
21882197

@@ -3552,12 +3561,12 @@ __metadata:
35523561
languageName: node
35533562
linkType: hard
35543563

3555-
"prettier@npm:^3.0.3":
3556-
version: 3.1.0
3557-
resolution: "prettier@npm:3.1.0"
3564+
"prettier@npm:^3.1.1":
3565+
version: 3.1.1
3566+
resolution: "prettier@npm:3.1.1"
35583567
bin:
35593568
prettier: bin/prettier.cjs
3560-
checksum: 44b556bd56f74d7410974fbb2418bb4e53a894d3e7b42f6f87779f69f27a6c272fa7fc27cec0118cd11730ef3246478052e002cbd87e9a253f9cd04a56aa7d9b
3569+
checksum: e386855e3a1af86a748e16953f168be555ce66d6233f4ba54eb6449b88eb0c6b2ca79441b11eae6d28a7f9a5c96440ce50864b9d5f6356d331d39d6bb66c648e
35613570
languageName: node
35623571
linkType: hard
35633572

@@ -3994,17 +4003,17 @@ __metadata:
39944003
languageName: node
39954004
linkType: hard
39964005

3997-
"terser@npm:^5.24.0":
3998-
version: 5.24.0
3999-
resolution: "terser@npm:5.24.0"
4006+
"terser@npm:^5.26.0":
4007+
version: 5.26.0
4008+
resolution: "terser@npm:5.26.0"
40004009
dependencies:
40014010
"@jridgewell/source-map": ^0.3.3
40024011
acorn: ^8.8.2
40034012
commander: ^2.20.0
40044013
source-map-support: ~0.5.20
40054014
bin:
40064015
terser: bin/terser
4007-
checksum: d88f774b6fa711a234fcecefd7657f99189c367e17dbe95a51c2776d426ad0e4d98d1ffe6edfdf299877c7602e495bdd711d21b2caaec188410795e5447d0f6c
4016+
checksum: 02a9bb896f04df828025af8f0eced36c315d25d310b6c2418e7dad2bed19ddeb34a9cea9b34e7c24789830fa51e1b6a9be26679980987a9c817a7e6d9cd4154b
40084017
languageName: node
40094018
linkType: hard
40104019

@@ -4112,23 +4121,23 @@ __metadata:
41124121
languageName: node
41134122
linkType: hard
41144123

4115-
"typescript@npm:^5.2.2":
4116-
version: 5.2.2
4117-
resolution: "typescript@npm:5.2.2"
4124+
"typescript@npm:^5.3.3":
4125+
version: 5.3.3
4126+
resolution: "typescript@npm:5.3.3"
41184127
bin:
41194128
tsc: bin/tsc
41204129
tsserver: bin/tsserver
4121-
checksum: 7912821dac4d962d315c36800fe387cdc0a6298dba7ec171b350b4a6e988b51d7b8f051317786db1094bd7431d526b648aba7da8236607febb26cf5b871d2d3c
4130+
checksum: 2007ccb6e51bbbf6fde0a78099efe04dc1c3dfbdff04ca3b6a8bc717991862b39fd6126c0c3ebf2d2d98ac5e960bcaa873826bb2bb241f14277034148f41f6a2
41224131
languageName: node
41234132
linkType: hard
41244133

4125-
"typescript@patch:typescript@^5.2.2#~builtin<compat/typescript>":
4126-
version: 5.2.2
4127-
resolution: "typescript@patch:typescript@npm%3A5.2.2#~builtin<compat/typescript>::version=5.2.2&hash=f3b441"
4134+
"typescript@patch:typescript@^5.3.3#~builtin<compat/typescript>":
4135+
version: 5.3.3
4136+
resolution: "typescript@patch:typescript@npm%3A5.3.3#~builtin<compat/typescript>::version=5.3.3&hash=29ae49"
41284137
bin:
41294138
tsc: bin/tsc
41304139
tsserver: bin/tsserver
4131-
checksum: 0f4da2f15e6f1245e49db15801dbee52f2bbfb267e1c39225afdab5afee1a72839cd86000e65ee9d7e4dfaff12239d28beaf5ee431357fcced15fb08583d72ca
4140+
checksum: f61375590b3162599f0f0d5b8737877ac0a7bc52761dbb585d67e7b8753a3a4c42d9a554c4cc929f591ffcf3a2b0602f65ae3ce74714fd5652623a816862b610
41324141
languageName: node
41334142
linkType: hard
41344143

0 commit comments

Comments
 (0)