Skip to content

Commit 96135e2

Browse files
authored
Backport #4631 (#4633)
1 parent 108bc20 commit 96135e2

3 files changed

Lines changed: 27 additions & 60 deletions

File tree

.github/workflows/ci.yml

Lines changed: 21 additions & 54 deletions
Original file line numberDiff line numberDiff line change
@@ -8,15 +8,15 @@ jobs:
88
runs-on: ubuntu-latest
99
steps:
1010
- name: Checkout repo
11-
uses: actions/checkout@v2
11+
uses: actions/checkout@v6
1212

1313
- name: Setup Node.js
14-
uses: actions/setup-node@v1
14+
uses: actions/setup-node@v6
1515
with:
1616
node-version: ${{ env.NODE_VERSION_USED_FOR_DEVELOPMENT }}
1717

1818
- name: Cache Node.js modules
19-
uses: actions/cache@v2
19+
uses: actions/cache@v5
2020
with:
2121
path: ~/.npm
2222
key: ${{ runner.OS }}-node-${{ hashFiles('**/package-lock.json') }}
@@ -43,7 +43,7 @@ jobs:
4343
runs-on: ubuntu-latest
4444
steps:
4545
- name: Checkout repo
46-
uses: actions/checkout@v2
46+
uses: actions/checkout@v6
4747

4848
- name: Check if commit contains files that should be ignored
4949
run: |
@@ -60,10 +60,10 @@ jobs:
6060
runs-on: ubuntu-latest
6161
steps:
6262
- name: Checkout repo
63-
uses: actions/checkout@v2
63+
uses: actions/checkout@v6
6464

6565
- name: Setup Node.js
66-
uses: actions/setup-node@v1
66+
uses: actions/setup-node@v6
6767
with:
6868
node-version: ${{ env.NODE_VERSION_USED_FOR_DEVELOPMENT }}
6969

@@ -86,15 +86,15 @@ jobs:
8686
runs-on: ubuntu-latest
8787
steps:
8888
- name: Checkout repo
89-
uses: actions/checkout@v2
89+
uses: actions/checkout@v6
9090

9191
- name: Setup Node.js
92-
uses: actions/setup-node@v1
92+
uses: actions/setup-node@v6
9393
with:
9494
node-version: ${{ env.NODE_VERSION_USED_FOR_DEVELOPMENT }}
9595

9696
- name: Cache Node.js modules
97-
uses: actions/cache@v2
97+
uses: actions/cache@v5
9898
with:
9999
path: ~/.npm
100100
key: ${{ runner.OS }}-node-${{ hashFiles('**/package-lock.json') }}
@@ -107,39 +107,6 @@ jobs:
107107
- name: Run Tests
108108
run: npm run fuzzonly
109109

110-
coverage:
111-
name: Measure test coverage
112-
runs-on: ubuntu-latest
113-
steps:
114-
- name: Checkout repo
115-
uses: actions/checkout@v2
116-
117-
- name: Setup Node.js
118-
uses: actions/setup-node@v1
119-
with:
120-
node-version: ${{ env.NODE_VERSION_USED_FOR_DEVELOPMENT }}
121-
122-
- name: Cache Node.js modules
123-
uses: actions/cache@v2
124-
with:
125-
path: ~/.npm
126-
key: ${{ runner.OS }}-node-${{ hashFiles('**/package-lock.json') }}
127-
restore-keys: |
128-
${{ runner.OS }}-node-
129-
130-
- name: Install Dependencies
131-
run: npm ci
132-
133-
- name: Run tests and measure code coverage
134-
run: npm run testonly:cover
135-
136-
- name: Upload coverage to Codecov
137-
if: ${{ always() }}
138-
uses: codecov/codecov-action@v1
139-
with:
140-
file: ./coverage/coverage-final.json
141-
fail_ci_if_error: true
142-
143110
test:
144111
name: Run tests on Node v${{ matrix.node_version_to_setup }}
145112
runs-on: ubuntu-latest
@@ -148,15 +115,15 @@ jobs:
148115
node_version_to_setup: [10, 12, 14, 15]
149116
steps:
150117
- name: Checkout repo
151-
uses: actions/checkout@v2
118+
uses: actions/checkout@v6
152119

153120
- name: Setup Node.js v${{ matrix.node_version_to_setup }}
154-
uses: actions/setup-node@v1
121+
uses: actions/setup-node@v6
155122
with:
156123
node-version: ${{ matrix.node_version_to_setup }}
157124

158125
- name: Cache Node.js modules
159-
uses: actions/cache@v2
126+
uses: actions/cache@v5
160127
with:
161128
path: ~/.npm
162129
key: ${{ runner.OS }}-node-${{ hashFiles('**/package-lock.json') }}
@@ -174,17 +141,17 @@ jobs:
174141
runs-on: ubuntu-latest
175142
steps:
176143
- name: Checkout repo
177-
uses: actions/checkout@v2
144+
uses: actions/checkout@v6
178145
with:
179146
fetch-depth: 2
180147

181148
- name: Setup Node.js
182-
uses: actions/setup-node@v1
149+
uses: actions/setup-node@v6
183150
with:
184151
node-version: ${{ env.NODE_VERSION_USED_FOR_DEVELOPMENT }}
185152

186153
- name: Cache Node.js modules
187-
uses: actions/cache@v2
154+
uses: actions/cache@v5
188155
with:
189156
path: ~/.npm
190157
key: ${{ runner.OS }}-node-${{ hashFiles('**/package-lock.json') }}
@@ -207,15 +174,15 @@ jobs:
207174
needs: [test, fuzz, lint, checkForCommonlyIgnoredFiles, integrationTests]
208175
steps:
209176
- name: Checkout repo
210-
uses: actions/checkout@v2
177+
uses: actions/checkout@v6
211178

212179
- name: Setup Node.js
213-
uses: actions/setup-node@v1
180+
uses: actions/setup-node@v6
214181
with:
215182
node-version: ${{ env.NODE_VERSION_USED_FOR_DEVELOPMENT }}
216183

217184
- name: Cache Node.js modules
218-
uses: actions/cache@v2
185+
uses: actions/cache@v5
219186
with:
220187
path: ~/.npm
221188
key: ${{ runner.OS }}-node-${{ hashFiles('**/package-lock.json') }}
@@ -243,15 +210,15 @@ jobs:
243210
needs: [test, fuzz, lint, checkForCommonlyIgnoredFiles, integrationTests]
244211
steps:
245212
- name: Checkout repo
246-
uses: actions/checkout@v2
213+
uses: actions/checkout@v6
247214

248215
- name: Setup Node.js
249-
uses: actions/setup-node@v1
216+
uses: actions/setup-node@v6
250217
with:
251218
node-version: ${{ env.NODE_VERSION_USED_FOR_DEVELOPMENT }}
252219

253220
- name: Cache Node.js modules
254-
uses: actions/cache@v2
221+
uses: actions/cache@v5
255222
with:
256223
path: ~/.npm
257224
key: ${{ runner.OS }}-node-${{ hashFiles('**/package-lock.json') }}

src/execution/values.js

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -78,7 +78,7 @@ function coerceVariableValues(
7878
inputs: { +[variable: string]: mixed, ... },
7979
onError: (GraphQLError) => void,
8080
): { [variable: string]: mixed, ... } {
81-
const coercedValues = {};
81+
const coercedValues = Object.create(null);
8282
for (const varDefNode of varDefNodes) {
8383
const varName = varDefNode.variable.name.value;
8484
const varType = typeFromAST(schema, varDefNode.type);
@@ -145,7 +145,7 @@ function coerceVariableValues(
145145
);
146146
}
147147

148-
return coercedValues;
148+
return { ...coercedValues };
149149
}
150150

151151
/**
@@ -163,7 +163,7 @@ export function getArgumentValues(
163163
node: FieldNode | DirectiveNode,
164164
variableValues?: ?ObjMap<mixed>,
165165
): { [argument: string]: mixed, ... } {
166-
const coercedValues = {};
166+
const coercedValues = Object.create(null);
167167

168168
// istanbul ignore next (See: 'https://github.com/graphql/graphql-js/issues/2203')
169169
const argumentNodes = node.arguments ?? [];
@@ -230,7 +230,7 @@ export function getArgumentValues(
230230
}
231231
coercedValues[name] = coercedValue;
232232
}
233-
return coercedValues;
233+
return { ...coercedValues };
234234
}
235235

236236
/**

src/utilities/coerceInputValue.js

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -101,7 +101,7 @@ function coerceInputValueImpl(
101101
return;
102102
}
103103

104-
const coercedValue = {};
104+
const coercedValue = Object.create(null);
105105
const fieldDefs = type.getFields();
106106

107107
for (const field of objectValues(fieldDefs)) {
@@ -148,7 +148,7 @@ function coerceInputValueImpl(
148148
);
149149
}
150150
}
151-
return coercedValue;
151+
return { ...coercedValue };
152152
}
153153

154154
// istanbul ignore else (See: 'https://github.com/graphql/graphql-js/issues/2618')

0 commit comments

Comments
 (0)