Skip to content

Navigation Menu

Sign in
Appearance settings

Search code, repositories, users, issues, pull requests...

Provide feedback

We read every piece of feedback, and take your input very seriously.

Saved searches

Use saved searches to filter your results more quickly

Sign up
Appearance settings

Commit a66211a

Browse files
committed
Add hybrid module test setup for ESM, CommonJS tests #65
1 parent 79ed658 commit a66211a

File tree

18 files changed

+72
-119
lines changed

18 files changed

+72
-119
lines changed

‎fix-hybrid-module.test.sh

Lines changed: 11 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,11 @@
1+
cat >dist/test/cjs/package.json <<!EOF
2+
{
3+
"type": "commonjs"
4+
}
5+
!EOF
6+
7+
cat >dist/test/esm/package.json <<!EOF
8+
{
9+
"type": "module"
10+
}
11+
!EOF

‎package.json

Lines changed: 5 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -12,8 +12,11 @@
1212
"build": "npm run build:esm && npm run build:cjs && ./fix-hybrid-module.sh",
1313
"build:esm": "tsc -p ./tsconfig.esm.json",
1414
"build:cjs": "tsc -p ./tsconfig.cjs.json",
15-
"test": "npm run lint && npm run testonly",
16-
"testonly": "mocha --check-leaks --exit --full-trace --require ts-node/register/transpile-only 'src/**/__tests__/**/*-test.{ts,tsx}'",
15+
"build:test:cjs": "tsc -p ./tsconfig.test.cjs.json && ./fix-hybrid-module.test.sh",
16+
"build:test:esm": "tsc -p ./tsconfig.test.esm.json && ./fix-hybrid-module.test.sh",
17+
"test": "npm run lint && npm run build:test:cjs && npm run testonly:cjs && npm run build:test:esm && npm run testonly:esm",
18+
"testonly:cjs": "mocha --check-leaks --exit --full-trace 'dist/test/cjs/**/__tests__/**/*-test.js'",
19+
"testonly:esm": "mocha --check-leaks --exit --full-trace 'dist/test/esm/**/__tests__/**/*-test.js'",
1720
"dist": "npm run clean && npm run build",
1821
"prepare": "npm run clean && npm run dist"
1922
},
@@ -61,7 +64,6 @@
6164
"mocha": "^9.1.3",
6265
"prettier": "^2.4.1",
6366
"rimraf": "^3.0.2",
64-
"ts-node": "^10.3.0",
6567
"typescript": "^4.4.4"
6668
}
6769
}

‎src/QueryComplexity.ts

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -8,7 +8,7 @@ import {
88
getArgumentValues,
99
getDirectiveValues,
1010
getVariableValues,
11-
} from 'graphql/execution/values';
11+
} from 'graphql/execution/values.js';
1212

1313
import {
1414
ValidationContext,

‎src/__tests__/QueryComplexity-test.ts

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -13,19 +13,19 @@ import {
1313

1414
import { expect } from 'chai';
1515

16-
import schema from './fixtures/schema';
16+
import schema from './fixtures/schema.js';
1717

1818
import ComplexityVisitor, {
1919
getComplexity,
2020
ComplexityEstimator,
21-
} from '../QueryComplexity';
21+
} from '../QueryComplexity.js';
2222
import defaultExport, {
2323
createComplexityRule,
2424
simpleEstimator,
2525
directiveEstimator,
2626
fieldExtensionsEstimator,
27-
} from '../index';
28-
import { CompatibleValidationContext } from './fixtures/CompatibleValidationContext';
27+
} from '../index.js';
28+
import { CompatibleValidationContext } from './fixtures/CompatibleValidationContext.js';
2929

3030
describe('QueryComplexity analysis', () => {
3131
const typeInfo = new TypeInfo(schema);

‎src/__tests__/fixtures/CompatibleValidationContext.ts

Lines changed: 7 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,10 @@
1-
import { GraphQLError, TypeInfo, ValidationContext } from 'graphql';
2-
import { GraphQLSchema } from 'graphql/type/schema';
3-
import { DocumentNode } from 'graphql/language/ast';
1+
import {
2+
GraphQLError,
3+
TypeInfo,
4+
ValidationContext,
5+
GraphQLSchema,
6+
DocumentNode,
7+
} from 'graphql';
48

59
/**
610
* This class is used to test that validation errors are raised correctly

‎src/__tests__/fixtures/schema.ts

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -14,7 +14,7 @@ import {
1414
GraphQLInterfaceType,
1515
} from 'graphql';
1616

17-
import { ComplexityEstimatorArgs } from '../../QueryComplexity';
17+
import { ComplexityEstimatorArgs } from '../../QueryComplexity.js';
1818

1919
const Item: GraphQLObjectType = new GraphQLObjectType({
2020
name: 'Item',

‎src/estimators/directive/__tests__/directiveEstimator-test.ts

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -15,11 +15,11 @@ import {
1515

1616
import { expect } from 'chai';
1717

18-
import schema from './fixtures/schema';
18+
import schema from './fixtures/schema.js';
1919

20-
import ComplexityVisitor from '../../../QueryComplexity';
21-
import directiveEstimator, { createComplexityDirective } from '../index';
22-
import { CompatibleValidationContext } from '../../../__tests__/fixtures/CompatibleValidationContext';
20+
import ComplexityVisitor from '../../../QueryComplexity.js';
21+
import directiveEstimator, { createComplexityDirective } from '../index.js';
22+
import { CompatibleValidationContext } from '../../../__tests__/fixtures/CompatibleValidationContext.js';
2323

2424
describe('directiveEstimator analysis', () => {
2525
const typeInfo = new TypeInfo(schema);

‎src/estimators/directive/index.ts

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,16 +1,16 @@
11
import {
22
ComplexityEstimator,
33
ComplexityEstimatorArgs,
4-
} from '../../QueryComplexity';
4+
} from '../../QueryComplexity.js';
55
import {
66
getDirectiveValues,
77
GraphQLInt,
88
GraphQLList,
99
GraphQLNonNull,
1010
GraphQLString,
11+
GraphQLDirective,
12+
DirectiveLocation,
1113
} from 'graphql';
12-
import { GraphQLDirective } from 'graphql/type/directives';
13-
import { DirectiveLocation } from 'graphql/language/directiveLocation';
1414
import get from 'lodash.get';
1515

1616
export type ComplexityDirectiveOptions = {

‎src/estimators/fieldExtensions/__tests__/fieldExtensionsEstimator-test.ts

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -6,12 +6,12 @@ import { parse, TypeInfo, visit, visitWithTypeInfo } from 'graphql';
66

77
import { expect } from 'chai';
88

9-
import schema from './fixtures/schema';
9+
import schema from './fixtures/schema.js';
1010

11-
import ComplexityVisitor from '../../../QueryComplexity';
12-
import simpleEstimator from '../../simple';
13-
import fieldExtensionsEstimator from '../index';
14-
import { CompatibleValidationContext } from '../../../__tests__/fixtures/CompatibleValidationContext';
11+
import ComplexityVisitor from '../../../QueryComplexity.js';
12+
import simpleEstimator from '../../simple/index.js';
13+
import fieldExtensionsEstimator from '../index.js';
14+
import { CompatibleValidationContext } from '../../../__tests__/fixtures/CompatibleValidationContext.js';
1515

1616
describe('fieldExtensions estimator', () => {
1717
const typeInfo = new TypeInfo(schema);

‎src/estimators/fieldExtensions/__tests__/fixtures/schema.ts

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -15,7 +15,7 @@ import {
1515
GraphQLInterfaceType,
1616
} from 'graphql';
1717

18-
import { ComplexityEstimatorArgs } from '../../../../QueryComplexity';
18+
import { ComplexityEstimatorArgs } from '../../../../QueryComplexity.js';
1919

2020
const Item: GraphQLObjectType = new GraphQLObjectType({
2121
name: 'Item',

0 commit comments

Comments
(0)

AltStyle によって変換されたページ (->オリジナル) /