Skip to content
Permalink

Comparing changes

Choose two branches to see what’s changed or to start a new pull request. If you need to, you can also or learn more about diff comparisons.

Open a pull request

Create a new pull request by comparing changes across two branches. If you need to, you can also . Learn more about diff comparisons here.
base repository: graphql/graphql-js
Failed to load repositories. Confirm that selected base ref is valid, then try again.
Loading
base: v15.4.0
Choose a base ref
...
head repository: graphql/graphql-js
Failed to load repositories. Confirm that selected head ref is valid, then try again.
Loading
compare: v15.5.0
Choose a head ref

Commits on Oct 28, 2020

  1. Copy the full SHA
    4e722a8 View commit details

Commits on Oct 30, 2020

  1. Update deps (#2835)

    IvanGoncharov authored Oct 30, 2020
    Copy the full SHA
    acbc736 View commit details
  2. Copy the full SHA
    49e32ba View commit details
  3. Copy the full SHA
    a5b95f0 View commit details

Commits on Nov 3, 2020

  1. Copy the full SHA
    6e8ca04 View commit details

Commits on Nov 5, 2020

  1. Copy the full SHA
    cc146bc View commit details

Commits on Nov 11, 2020

  1. Update deps (#2844)

    IvanGoncharov authored Nov 11, 2020
    Copy the full SHA
    00eab30 View commit details

Commits on Nov 16, 2020

  1. README: add instructions on using experimental features (#2849)

    Co-authored-by: Ivan Goncharov <ivan.goncharov.ua@gmail.com>
    robrichard and IvanGoncharov authored Nov 16, 2020
    Copy the full SHA
    d6ab262 View commit details
  2. Copy the full SHA
    61c2b01 View commit details

Commits on Nov 20, 2020

  1. Update deps (#2850)

    IvanGoncharov authored Nov 20, 2020
    Copy the full SHA
    139d0f6 View commit details

Commits on Nov 22, 2020

  1. Copy the full SHA
    ce03dab View commit details

Commits on Nov 23, 2020

  1. Copy the full SHA
    8c6e7c7 View commit details

Commits on Nov 24, 2020

  1. Copy the full SHA
    3f129b5 View commit details
  2. Copy the full SHA
    93e26db View commit details
  3. Copy the full SHA
    cd273ad View commit details

Commits on Dec 15, 2020

  1. Copy the full SHA
    998bea6 View commit details

Commits on Jan 11, 2021

  1. Copy the full SHA
    661ff1a View commit details

Commits on Jan 13, 2021

  1. Copy the full SHA
    edbe218 View commit details

Commits on Jan 15, 2021

  1. Copy the full SHA
    16d2535 View commit details

Commits on Jan 17, 2021

  1. Update deps (#2884)

    IvanGoncharov authored Jan 17, 2021
    Copy the full SHA
    34ddf38 View commit details

Commits on Jan 18, 2021

  1. Copy the full SHA
    f0502f9 View commit details

Commits on Jan 22, 2021

  1. Copy the full SHA
    57662ae View commit details
  2. Update deps (#2890)

    IvanGoncharov authored Jan 22, 2021
    Copy the full SHA
    4c56041 View commit details
  3. Copy the full SHA
    3bce13f View commit details

Commits on Jan 26, 2021

  1. Copy the full SHA
    7e5f567 View commit details
  2. 15.5.0

    IvanGoncharov committed Jan 26, 2021
    Copy the full SHA
    1611bbb View commit details
Showing with 8,915 additions and 1,576 deletions.
  1. +10 −2 .eslintrc.yml
  2. +1 −1 .flowconfig
  3. +2 −2 .github/workflows/ci.yml
  4. +0 −10 .nycflowrc.yml
  5. +2 −3 .nycrc.yml
  6. +10 −0 README.md
  7. +5 −4 benchmark/benchmark.js
  8. +1 −1 integrationTests/integration-test.js
  9. +2 −1 integrationTests/node/package.json
  10. +2 −1 integrationTests/ts/package.json
  11. +8,062 −1,049 package-lock.json
  12. +13 −16 package.json
  13. +2 −2 resources/build-deno.js
  14. +8 −5 resources/build-npm.js
  15. +0 −87 resources/check-cover.js
  16. +4 −4 resources/gen-changelog.js
  17. +0 −15 resources/utils.js
  18. +3 −1 src/__tests__/version-test.js
  19. +1 −1 src/error/GraphQLError.js
  20. +2 −2 src/execution/__tests__/lists-test.js
  21. +8 −10 src/execution/execute.js
  22. +0 −71 src/jsutils/__tests__/isCollection-test.js
  23. +72 −0 src/jsutils/__tests__/naturalCompare-test.js
  24. +91 −0 src/jsutils/__tests__/safeArrayFrom-test.js
  25. +1 −5 src/jsutils/isAsyncIterable.js
  26. +0 −37 src/jsutils/isCollection.js
  27. +58 −0 src/jsutils/naturalCompare.js
  28. +58 −0 src/jsutils/safeArrayFrom.js
  29. +3 −1 src/jsutils/suggestionList.js
  30. +2 −2 src/language/blockString.js
  31. +1 −1 src/language/source.js
  32. +57 −45 src/type/definition.js
  33. +9 −7 src/type/directives.js
  34. +1 −1 src/type/schema.js
  35. +1 −1 src/utilities/TypeInfo.js
  36. +17 −0 src/utilities/__tests__/astFromValue-test.js
  37. +36 −8 src/utilities/__tests__/buildClientSchema-test.js
  38. +26 −1 src/utilities/__tests__/coerceInputValue-test.js
  39. +89 −34 src/utilities/__tests__/getIntrospectionQuery-test.js
  40. +2 −0 src/utilities/__tests__/introspectionFromSchema-test.js
  41. +144 −78 src/utilities/__tests__/separateOperations-test.js
  42. +6 −6 src/utilities/astFromValue.js
  43. +1 −0 src/utilities/buildClientSchema.js
  44. +11 −8 src/utilities/coerceInputValue.js
  45. +6 −2 src/utilities/findBreakingChanges.js
  46. +6 −0 src/utilities/getIntrospectionQuery.d.ts
  47. +16 −3 src/utilities/getIntrospectionQuery.js
  48. +2 −0 src/utilities/introspectionFromSchema.js
  49. +3 −2 src/utilities/lexicographicSortSchema.js
  50. +46 −36 src/utilities/separateOperations.js
  51. +3 −3 src/validation/ValidationContext.js
  52. +2 −1 src/validation/rules/FieldsOnCorrectTypeRule.js
  53. +4 −4 src/validation/validate.js
  54. +2 −2 src/version.js
  55. +1 −0 tsconfig.json
12 changes: 10 additions & 2 deletions .eslintrc.yml
Original file line number Diff line number Diff line change
@@ -143,7 +143,7 @@ rules:
import/dynamic-import-chunkname: off

##############################################################################
# ESLint builtin rules list based on `v7.12.x`
# ESLint builtin rules list based on `v7.18.x`
##############################################################################

# Possible Errors
@@ -185,6 +185,7 @@ rules:
no-unreachable-loop: error
no-unsafe-finally: error
no-unsafe-negation: error
no-unsafe-optional-chaining: [error, { disallowArithmeticOperators: true }]
no-useless-backreference: error
require-atomic-updates: error
use-isnan: error
@@ -236,6 +237,7 @@ rules:
no-new: error
no-new-func: error
no-new-wrappers: error
no-nonoctal-decimal-escape: error
no-octal: error
no-octal-escape: error
no-param-reassign: error
@@ -504,7 +506,7 @@ overrides:
- plugin:import/typescript
rules:
##########################################################################
# `@typescript-eslint/eslint-plugin` rule list based on `v4.5.x`
# `@typescript-eslint/eslint-plugin` rule list based on `v4.13.x`
##########################################################################

# Supported Rules
@@ -529,6 +531,7 @@ overrides:
'@typescript-eslint/naming-convention': off # TODO consider
'@typescript-eslint/no-base-to-string': error
'@typescript-eslint/no-confusing-non-null-assertion': error
'@typescript-eslint/no-confusing-void-expression': error
'@typescript-eslint/no-dynamic-delete': off
'@typescript-eslint/no-empty-interface': error
'@typescript-eslint/no-explicit-any': off # TODO error
@@ -556,11 +559,13 @@ overrides:
'@typescript-eslint/no-unnecessary-qualifier': error
'@typescript-eslint/no-unnecessary-type-arguments': error
'@typescript-eslint/no-unnecessary-type-assertion': error
'@typescript-eslint/no-unnecessary-type-constraint': off # TODO consider
'@typescript-eslint/no-unsafe-assignment': off # TODO consider
'@typescript-eslint/no-unsafe-call': off # TODO consider
'@typescript-eslint/no-unsafe-member-access': off # TODO consider
'@typescript-eslint/no-unsafe-return': off # TODO consider
'@typescript-eslint/no-var-requires': error
'@typescript-eslint/non-nullable-type-assertion-style': error
'@typescript-eslint/prefer-as-const': off # TODO consider
'@typescript-eslint/prefer-enum-initializers': off # TODO consider
'@typescript-eslint/prefer-for-of': off # TODO switch to error after TS migration
@@ -581,6 +586,7 @@ overrides:
'@typescript-eslint/restrict-plus-operands':
[error, { checkCompoundAssignments: true }]
'@typescript-eslint/restrict-template-expressions': error
'@typescript-eslint/sort-type-union-intersection-members': off # TODO consider
'@typescript-eslint/strict-boolean-expressions': off # TODO consider
'@typescript-eslint/switch-exhaustiveness-check': error
'@typescript-eslint/triple-slash-reference': error
@@ -643,6 +649,7 @@ overrides:

# Bellow rules are disabled because coflicts with Prettier, see:
# https://github.com/prettier/eslint-config-prettier/blob/master/%40typescript-eslint.js
'@typescript-eslint/object-curly-spacing': off
'@typescript-eslint/quotes': off
'@typescript-eslint/brace-style': off
'@typescript-eslint/comma-dangle': off
@@ -655,6 +662,7 @@ overrides:
'@typescript-eslint/no-extra-semi': off
'@typescript-eslint/semi': off
'@typescript-eslint/space-before-function-paren': off
'@typescript-eslint/space-infix-ops': off
'@typescript-eslint/type-annotation-spacing': off
- files: 'src/**/__*__/**'
rules:
2 changes: 1 addition & 1 deletion .flowconfig
Original file line number Diff line number Diff line change
@@ -39,4 +39,4 @@ experimental.const_params=true
include_warnings=true

[version]
^0.136.0
^0.142.0
4 changes: 2 additions & 2 deletions .github/workflows/ci.yml
Original file line number Diff line number Diff line change
@@ -137,15 +137,15 @@ jobs:
if: ${{ always() }}
uses: codecov/codecov-action@v1
with:
file: ./coverage/tests/coverage-final.json
file: ./coverage/coverage-final.json
fail_ci_if_error: true

test:
name: Run tests on Node v${{ matrix.node_version_to_setup }}
runs-on: ubuntu-latest
strategy:
matrix:
node_version_to_setup: [10, 12, 14]
node_version_to_setup: [10, 12, 14, 15]
steps:
- name: Checkout repo
uses: actions/checkout@v2
10 changes: 0 additions & 10 deletions .nycflowrc.yml

This file was deleted.

5 changes: 2 additions & 3 deletions .nycrc.yml
Original file line number Diff line number Diff line change
@@ -4,7 +4,6 @@ include:
exclude:
- 'src/polyfills'
- '**/*-fuzz.js'
- '**/*-benchmark.js'
- '**/*.d.ts'
- 'src/validation/rules/ExecutableDefinitions.js'
- 'src/validation/rules/LoneSchemaDefinition.js'
@@ -16,8 +15,8 @@ exclude:
- 'src/validation/rules/UniqueOperationTypes.js'
- 'src/utilities/findDeprecatedUsages.js'
clean: true
temp-directory: 'coverage/tests'
report-dir: 'coverage/tests'
temp-directory: 'coverage'
report-dir: 'coverage'
skip-full: true
reporter: [json, html, text]
check-coverage: true
10 changes: 10 additions & 0 deletions README.md
Original file line number Diff line number Diff line change
@@ -115,6 +115,16 @@ directly on this branch:
npm install graphql@git://github.com/graphql/graphql-js.git#npm
```

### Experimental features

Each release of GraphQL.js will be accompanied by an experimental release containing support for the `@defer` and `@stream` directive proposal. We are hoping to get community feedback on these releases before the proposal is accepted into the GraphQL specification. You can use this experimental release of GraphQL.js by adding the following to your project's `package.json` file.

```
"graphql": "experimental-stream-defer"
```

Community feedback on this experimental release is much appreciated and can be provided on the [issue created for this purpose](https://github.com/graphql/graphql-js/issues/2848).

### Using in a Browser

GraphQL.js is a general-purpose library and can be used both in a Node server
9 changes: 5 additions & 4 deletions benchmark/benchmark.js
Original file line number Diff line number Diff line change
@@ -31,10 +31,11 @@ function exec(command, options = {}) {
// and returns path to its 'dist' directory.
function prepareBenchmarkProjects(revisionList) {
const tmpDir = path.join(os.tmpdir(), 'graphql-js-benchmark');
fs.mkdirSync(tmpDir, { recursive: true });
fs.rmdirSync(tmpDir, { recursive: true, force: true });
fs.mkdirSync(tmpDir);

const setupDir = path.join(tmpDir, 'setup');
fs.rmdirSync(setupDir, { recursive: true });
fs.rmdirSync(setupDir, { recursive: true, force: true });
fs.mkdirSync(setupDir);

return revisionList.map((revision) => {
@@ -72,12 +73,12 @@ function prepareBenchmarkProjects(revisionList) {
}

const repoDir = path.join(tmpDir, hash);
fs.rmdirSync(repoDir, { recursive: true });
fs.rmdirSync(repoDir, { recursive: true, force: true });
fs.mkdirSync(repoDir);
exec(`git archive "${hash}" | tar -xC "${repoDir}"`);
exec('npm --quiet ci', { cwd: repoDir });
fs.renameSync(buildNPMArchive(repoDir), archivePath);
fs.rmdirSync(repoDir, { recursive: true });
fs.rmdirSync(repoDir, { recursive: true, force: true });
return archivePath;
}

2 changes: 1 addition & 1 deletion integrationTests/integration-test.js
Original file line number Diff line number Diff line change
@@ -17,7 +17,7 @@ function exec(command, options = {}) {

describe('Integration Tests', () => {
const tmpDir = path.join(os.tmpdir(), 'graphql-js-integrationTmp');
fs.rmdirSync(tmpDir, { recursive: true });
fs.rmdirSync(tmpDir, { recursive: true, force: true });
fs.mkdirSync(tmpDir);

const distDir = path.resolve('./npmDist');
3 changes: 2 additions & 1 deletion integrationTests/node/package.json
Original file line number Diff line number Diff line change
@@ -7,6 +7,7 @@
"graphql": "file:../graphql.tgz",
"node-10": "npm:node@10.x.x",
"node-12": "npm:node@12.x.x",
"node-14": "npm:node@14.x.x"
"node-14": "npm:node@14.x.x",
"node-15": "npm:node@15.x.x"
}
}
3 changes: 2 additions & 1 deletion integrationTests/ts/package.json
Original file line number Diff line number Diff line change
@@ -19,6 +19,7 @@
"typescript-3.7": "npm:typescript@3.7.x",
"typescript-3.8": "npm:typescript@3.8.x",
"typescript-3.9": "npm:typescript@3.9.x",
"typescript-4.0": "npm:typescript@4.0.x"
"typescript-4.0": "npm:typescript@4.0.x",
"typescript-4.1": "npm:typescript@4.1.x"
}
}
Loading