Skip to content

Commit accd58f

Browse files
committed
New cross-inspect package
1 parent 548ca60 commit accd58f

File tree

16 files changed

+87
-13
lines changed

16 files changed

+87
-13
lines changed

.changeset/beige-laws-decide.md

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,5 @@
1+
---
2+
'cross-inspect': major
3+
---
4+
5+
Cross platform `inspect` implementation similar to Node's `util.inspect`
Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,5 @@
1+
---
2+
'@graphql-tools/utils': patch
3+
---
4+
5+
Extract `inspect` into the new `cross-inspect` package

packages/executor/package.json

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -62,6 +62,7 @@
6262
"value-or-promise": "^1.0.12"
6363
},
6464
"devDependencies": {
65+
"cross-inspect": "0.0.0",
6566
"graphql": "^16.6.0"
6667
},
6768
"publishConfig": {

packages/executor/src/execution/__tests__/executor-test.ts

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,5 @@
1+
// eslint-disable-next-line import/no-extraneous-dependencies
2+
import { inspect } from 'cross-inspect';
13
import {
24
GraphQLBoolean,
35
GraphQLInt,
@@ -12,7 +14,6 @@ import {
1214
Kind,
1315
parse,
1416
} from 'graphql';
15-
import { inspect } from '@graphql-tools/utils';
1617
import { expectJSON } from '../../__testUtils__/expectJSON.js';
1718
import { execute, executeSync } from '../execute.js';
1819

packages/executor/src/execution/__tests__/variables-test.ts

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,5 @@
1+
// eslint-disable-next-line import/no-extraneous-dependencies
2+
import { inspect } from 'cross-inspect';
13
import {
24
GraphQLArgumentConfig,
35
GraphQLEnumType,
@@ -12,7 +14,6 @@ import {
1214
Kind,
1315
parse,
1416
} from 'graphql';
15-
import { inspect } from '@graphql-tools/utils';
1617
import { expectJSON } from '../../__testUtils__/expectJSON.js';
1718
import { executeSync } from '../execute.js';
1819
import { getVariableValues } from '../values.js';

packages/federation/test/fixtures/gateway/inventory/index.ts

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
import { readFileSync } from 'node:fs';
22
import { join } from 'node:path';
3-
import { inspect } from 'util';
3+
import { inspect } from 'cross-inspect';
44
import { IResolvers } from '@graphql-tools/utils';
55

66
export const typeDefs = readFileSync(join(__dirname, './inventory.graphql'), 'utf8');

packages/inspect/package.json

Lines changed: 61 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,61 @@
1+
{
2+
"name": "cross-inspect",
3+
"version": "0.0.0",
4+
"type": "module",
5+
"description": "Cross platform implementation of Node's util.inspect",
6+
"repository": {
7+
"type": "git",
8+
"url": "ardatan/graphql-tools",
9+
"directory": "packages/inspect"
10+
},
11+
"author": "Arda TANRIKULU <ardatanrikulu@gmail.com>",
12+
"license": "MIT",
13+
"engines": {
14+
"node": ">=16.0.0"
15+
},
16+
"main": "dist/cjs/index.js",
17+
"module": "dist/esm/index.js",
18+
"exports": {
19+
".": {
20+
"require": {
21+
"types": "./dist/typings/index.d.cts",
22+
"default": "./dist/cjs/index.js"
23+
},
24+
"import": {
25+
"types": "./dist/typings/index.d.ts",
26+
"default": "./dist/esm/index.js"
27+
},
28+
"default": {
29+
"types": "./dist/typings/index.d.ts",
30+
"default": "./dist/esm/index.js"
31+
}
32+
},
33+
"./*": {
34+
"require": {
35+
"types": "./dist/typings/*.d.cts",
36+
"default": "./dist/cjs/*.js"
37+
},
38+
"import": {
39+
"types": "./dist/typings/*.d.ts",
40+
"default": "./dist/esm/*.js"
41+
},
42+
"default": {
43+
"types": "./dist/typings/*.d.ts",
44+
"default": "./dist/esm/*.js"
45+
}
46+
},
47+
"./package.json": "./package.json"
48+
},
49+
"typings": "dist/typings/index.d.ts",
50+
"dependencies": {
51+
"tslib": "^2.4.0"
52+
},
53+
"publishConfig": {
54+
"directory": "dist",
55+
"access": "public"
56+
},
57+
"sideEffects": false,
58+
"typescript": {
59+
"definition": "dist/typings/index.d.ts"
60+
}
61+
}
Lines changed: 2 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1,8 +1,5 @@
11
// Taken from graphql-js
22
// https://github.com/graphql/graphql-js/blob/main/src/jsutils/inspect.ts
3-
4-
import { GraphQLError } from 'graphql';
5-
63
const MAX_RECURSIVE_DEPTH = 3;
74

85
/**
@@ -26,7 +23,8 @@ function formatValue(value: unknown, seenValues: ReadonlyArray<unknown>): string
2623
}
2724

2825
function formatError(value: Error): string {
29-
if (value instanceof GraphQLError) {
26+
// eslint-disable-next-line no-constant-condition
27+
if ((value.name = 'GraphQLError')) {
3028
return value.toString();
3129
}
3230
return `${value.name}: ${value.message};\n ${value.stack}`;

packages/load/tests/loaders/schema/schema-from-typedefs.spec.ts

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,8 +1,8 @@
11
import path from 'path';
2+
import { inspect } from 'cross-inspect';
23
import { CodeFileLoader } from '@graphql-tools/code-file-loader';
34
import { GraphQLFileLoader } from '@graphql-tools/graphql-file-loader';
45
import { loadSchema, loadSchemaSync } from '@graphql-tools/load';
5-
import { inspect } from '@graphql-tools/utils';
66
import { runTests, useMonorepo } from '../../../../testing/utils.js';
77

88
const monorepo = useMonorepo({

packages/resolvers-composition/tests/resolvers-composition.spec.ts

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,8 +1,8 @@
1+
import { inspect } from 'cross-inspect';
12
import { GraphQLScalarType, Kind } from 'graphql';
23
import gql from 'graphql-tag';
34
import { execute, isIncrementalResult } from '@graphql-tools/executor';
45
import { makeExecutableSchema } from '@graphql-tools/schema';
5-
import { inspect } from '@graphql-tools/utils';
66
import { composeResolvers, ResolversComposerMapping } from '../src/index.js';
77

88
function createAsyncIterator<T>(array: T[]): AsyncIterator<T, T, T> {

0 commit comments

Comments
 (0)