Skip to content

Commit

Permalink
Move polyfills into separate dir and exclude them from coverage (#1656)
Browse files Browse the repository at this point in the history
  • Loading branch information
IvanGoncharov committed Jan 10, 2019
1 parent 46dc163 commit 9e40465
Show file tree
Hide file tree
Showing 26 changed files with 36 additions and 27 deletions.
2 changes: 1 addition & 1 deletion .nycrc
@@ -1,5 +1,5 @@
{
"include": ["src/"],
"exclude": [],
"exclude": ["src/polyfills"],
"temp-directory": "coverage"
}
2 changes: 1 addition & 1 deletion src/execution/values.js
Expand Up @@ -7,8 +7,8 @@
* @flow strict
*/

import find from '../polyfills/find';
import { GraphQLError } from '../error/GraphQLError';
import find from '../jsutils/find';
import inspect from '../jsutils/inspect';
import invariant from '../jsutils/invariant';
import keyMap from '../jsutils/keyMap';
Expand Down
2 changes: 1 addition & 1 deletion src/jsutils/mapValue.js
Expand Up @@ -8,7 +8,7 @@
*/

import type { ObjMap } from './ObjMap';
import objectEntries from './objectEntries';
import objectEntries from '../polyfills/objectEntries';

/**
* Creates an object map with the same keys as `map` and values generated by
Expand Down
9 changes: 9 additions & 0 deletions src/polyfills/README.md
@@ -0,0 +1,9 @@
Polyfills
---------

This directory contains dependency-free polyfills for ES6 & ES7 functions used
throughout the codebase.

Each polyfill should belong in its own file and be the default export.

These functions are not part of the module interface and are subject to change.
File renamed without changes.
File renamed without changes.
File renamed without changes.
Expand Up @@ -7,7 +7,7 @@
* @flow strict
*/

import type { ObjMap } from './ObjMap';
import type { ObjMap } from '../jsutils/ObjMap';

declare function objectEntries<T>(obj: ObjMap<T>): Array<[string, T]>;

Expand Down
Expand Up @@ -7,7 +7,7 @@
* @flow strict
*/

import type { ObjMap } from './ObjMap';
import type { ObjMap } from '../jsutils/ObjMap';

declare function objectValues<T>(obj: ObjMap<T>): Array<T>;

Expand Down
2 changes: 1 addition & 1 deletion src/type/definition.js
Expand Up @@ -7,6 +7,7 @@
* @flow strict
*/

import objectEntries from '../polyfills/objectEntries';
import defineToJSON from '../jsutils/defineToJSON';
import defineToStringTag from '../jsutils/defineToStringTag';
import instanceOf from '../jsutils/instanceOf';
Expand All @@ -15,7 +16,6 @@ import invariant from '../jsutils/invariant';
import keyMap from '../jsutils/keyMap';
import mapValue from '../jsutils/mapValue';
import type { ObjMap } from '../jsutils/ObjMap';
import objectEntries from '../jsutils/objectEntries';
import { Kind } from '../language/kinds';
import { valueFromASTUntyped } from '../utilities/valueFromASTUntyped';
import type {
Expand Down
2 changes: 1 addition & 1 deletion src/type/directives.js
Expand Up @@ -7,6 +7,7 @@
* @flow strict
*/

import objectEntries from '../polyfills/objectEntries';
import type {
GraphQLFieldConfigArgumentMap,
GraphQLArgument,
Expand All @@ -18,7 +19,6 @@ import defineToJSON from '../jsutils/defineToJSON';
import instanceOf from '../jsutils/instanceOf';
import invariant from '../jsutils/invariant';
import inspect from '../jsutils/inspect';
import objectEntries from '../jsutils/objectEntries';
import type { DirectiveDefinitionNode } from '../language/ast';
import {
DirectiveLocation,
Expand Down
2 changes: 1 addition & 1 deletion src/type/introspection.js
Expand Up @@ -7,8 +7,8 @@
* @flow strict
*/

import objectValues from '../polyfills/objectValues';
import isInvalid from '../jsutils/isInvalid';
import objectValues from '../jsutils/objectValues';
import { astFromValue } from '../utilities/astFromValue';
import { print } from '../language/printer';
import {
Expand Down
4 changes: 2 additions & 2 deletions src/type/scalars.js
Expand Up @@ -7,9 +7,9 @@
* @flow strict
*/

import isFinite from '../polyfills/isFinite';
import isInteger from '../polyfills/isInteger';
import inspect from '../jsutils/inspect';
import isFinite from '../jsutils/isFinite';
import isInteger from '../jsutils/isInteger';
import { GraphQLScalarType, isNamedType } from './definition';
import { Kind } from '../language/kinds';

Expand Down
4 changes: 2 additions & 2 deletions src/type/schema.js
Expand Up @@ -7,6 +7,8 @@
* @flow strict
*/

import find from '../polyfills/find';
import objectValues from '../polyfills/objectValues';
import {
isAbstractType,
isObjectType,
Expand Down Expand Up @@ -34,10 +36,8 @@ import type { GraphQLError } from '../error/GraphQLError';
import inspect from '../jsutils/inspect';
import { __Schema } from './introspection';
import defineToStringTag from '../jsutils/defineToStringTag';
import find from '../jsutils/find';
import instanceOf from '../jsutils/instanceOf';
import invariant from '../jsutils/invariant';
import objectValues from '../jsutils/objectValues';
import type { ObjMap } from '../jsutils/ObjMap';

/**
Expand Down
6 changes: 3 additions & 3 deletions src/type/validate.js
Expand Up @@ -7,6 +7,9 @@
* @flow strict
*/

import find from '../polyfills/find';
import objectValues from '../polyfills/objectValues';
import objectEntries from '../polyfills/objectEntries';
import {
isObjectType,
isInterfaceType,
Expand All @@ -31,9 +34,6 @@ import { isIntrospectionType } from './introspection';
import { assertSchema } from './schema';
import type { GraphQLSchema } from './schema';
import inspect from '../jsutils/inspect';
import find from '../jsutils/find';
import objectValues from '../jsutils/objectValues';
import objectEntries from '../jsutils/objectEntries';
import { GraphQLError } from '../error/GraphQLError';
import type {
ASTNode,
Expand Down
2 changes: 1 addition & 1 deletion src/utilities/TypeInfo.js
Expand Up @@ -7,6 +7,7 @@
* @flow strict
*/

import find from '../polyfills/find';
import { Kind } from '../language/kinds';
import {
isObjectType,
Expand Down Expand Up @@ -39,7 +40,6 @@ import {
import type { GraphQLSchema } from '../type/schema';
import type { ASTNode, FieldNode } from '../language/ast';
import { typeFromAST } from './typeFromAST';
import find from '../jsutils/find';

/**
* TypeInfo is a utility class which, given a GraphQL schema, can keep track
Expand Down
2 changes: 1 addition & 1 deletion src/utilities/astFromValue.js
Expand Up @@ -9,10 +9,10 @@

import { forEach, isCollection } from 'iterall';

import objectValues from '../polyfills/objectValues';
import inspect from '../jsutils/inspect';
import isNullish from '../jsutils/isNullish';
import isInvalid from '../jsutils/isInvalid';
import objectValues from '../jsutils/objectValues';
import type { ValueNode } from '../language/ast';
import { Kind } from '../language/kinds';
import type { GraphQLInputType } from '../type/definition';
Expand Down
2 changes: 1 addition & 1 deletion src/utilities/buildASTSchema.js
Expand Up @@ -7,10 +7,10 @@
* @flow strict
*/

import objectValues from '../polyfills/objectValues';
import invariant from '../jsutils/invariant';
import keyMap from '../jsutils/keyMap';
import keyValMap from '../jsutils/keyValMap';
import objectValues from '../jsutils/objectValues';
import type { ObjMap } from '../jsutils/ObjMap';
import { valueFromAST } from './valueFromAST';
import { assertValidSDL } from '../validation/validate';
Expand Down
2 changes: 1 addition & 1 deletion src/utilities/coerceValue.js
Expand Up @@ -8,10 +8,10 @@
*/

import { forEach, isCollection } from 'iterall';
import objectValues from '../polyfills/objectValues';
import inspect from '../jsutils/inspect';
import isInvalid from '../jsutils/isInvalid';
import orList from '../jsutils/orList';
import objectValues from '../jsutils/objectValues';
import suggestionList from '../jsutils/suggestionList';
import { GraphQLError } from '../error/GraphQLError';
import type { ASTNode } from '../language/ast';
Expand Down
2 changes: 1 addition & 1 deletion src/utilities/extendSchema.js
Expand Up @@ -7,10 +7,10 @@
* @flow strict
*/

import objectValues from '../polyfills/objectValues';
import invariant from '../jsutils/invariant';
import mapValue from '../jsutils/mapValue';
import keyValMap from '../jsutils/keyValMap';
import objectValues from '../jsutils/objectValues';
import { ASTDefinitionBuilder } from './buildASTSchema';
import { assertValidSDLExtension } from '../validation/validate';
import { assertSchema, GraphQLSchema } from '../type/schema';
Expand Down
2 changes: 1 addition & 1 deletion src/utilities/findBreakingChanges.js
Expand Up @@ -7,6 +7,7 @@
* @flow strict
*/

import find from '../polyfills/find';
import {
isScalarType,
isObjectType,
Expand All @@ -30,7 +31,6 @@ import type {

import type { GraphQLDirective } from '../type/directives';
import type { GraphQLSchema } from '../type/schema';
import find from '../jsutils/find';
import keyMap from '../jsutils/keyMap';

import type { ObjMap } from '../jsutils/ObjMap';
Expand Down
2 changes: 1 addition & 1 deletion src/utilities/lexicographicSortSchema.js
Expand Up @@ -7,9 +7,9 @@
* @flow strict
*/

import objectValues from '../polyfills/objectValues';
import type { ObjMap } from '../jsutils/ObjMap';
import keyValMap from '../jsutils/keyValMap';
import objectValues from '../jsutils/objectValues';
import { GraphQLSchema } from '../type/schema';
import { GraphQLDirective } from '../type/directives';
import type { GraphQLNamedType } from '../type/definition';
Expand Down
2 changes: 1 addition & 1 deletion src/utilities/schemaPrinter.js
Expand Up @@ -7,9 +7,9 @@
* @flow strict
*/

import objectValues from '../polyfills/objectValues';
import isNullish from '../jsutils/isNullish';
import isInvalid from '../jsutils/isInvalid';
import objectValues from '../jsutils/objectValues';
import { astFromValue } from '../utilities/astFromValue';
import { print } from '../language/printer';
import type { GraphQLSchema } from '../type/schema';
Expand Down
2 changes: 1 addition & 1 deletion src/utilities/valueFromAST.js
Expand Up @@ -7,9 +7,9 @@
* @flow strict
*/

import objectValues from '../polyfills/objectValues';
import keyMap from '../jsutils/keyMap';
import isInvalid from '../jsutils/isInvalid';
import objectValues from '../jsutils/objectValues';
import type { ObjMap } from '../jsutils/ObjMap';
import { Kind } from '../language/kinds';
import {
Expand Down
4 changes: 2 additions & 2 deletions src/validation/rules/OverlappingFieldsCanBeMerged.js
Expand Up @@ -7,12 +7,12 @@
* @flow strict
*/

import find from '../../polyfills/find';
import objectEntries from '../../polyfills/objectEntries';
import type { ValidationContext } from '../ValidationContext';
import { GraphQLError } from '../../error/GraphQLError';
import inspect from '../../jsutils/inspect';
import find from '../../jsutils/find';
import type { ObjMap } from '../../jsutils/ObjMap';
import objectEntries from '../../jsutils/objectEntries';
import type {
SelectionSetNode,
FieldNode,
Expand Down
2 changes: 1 addition & 1 deletion src/validation/rules/ValuesOfCorrectType.js
Expand Up @@ -7,6 +7,7 @@
* @flow strict
*/

import objectValues from '../../polyfills/objectValues';
import type { ValidationContext } from '../ValidationContext';
import { GraphQLError } from '../../error/GraphQLError';
import type { ValueNode } from '../../language/ast';
Expand All @@ -27,7 +28,6 @@ import inspect from '../../jsutils/inspect';
import isInvalid from '../../jsutils/isInvalid';
import keyMap from '../../jsutils/keyMap';
import orList from '../../jsutils/orList';
import objectValues from '../../jsutils/objectValues';
import suggestionList from '../../jsutils/suggestionList';

export function badValueMessage(
Expand Down

0 comments on commit 9e40465

Please sign in to comment.