Skip to content

Commit 067a795

Browse files
committed
fixed graphql-codegen-esm Cannot use import statement outside a module
1 parent 62c8199 commit 067a795

12 files changed

+58
-43
lines changed

codegen.yml

+4-4
Original file line numberDiff line numberDiff line change
@@ -9,7 +9,7 @@ generates:
99
ID: string
1010
example/yup/schemas.ts:
1111
plugins:
12-
- ./dist/main/index.js:
12+
- ./dist/cjs/index.js:
1313
schema: yup
1414
importFrom: ../types
1515
withObjectType: true
@@ -45,7 +45,7 @@ generates:
4545
ID: string
4646
example/zod/schemas.ts:
4747
plugins:
48-
- ./dist/main/index.js:
48+
- ./dist/cjs/index.js:
4949
schema: zod
5050
importFrom: ../types
5151
withObjectType: true
@@ -68,7 +68,7 @@ generates:
6868
ID: string
6969
example/myzod/schemas.ts:
7070
plugins:
71-
- ./dist/main/index.js:
71+
- ./dist/cjs/index.js:
7272
schema: myzod
7373
importFrom: ../types
7474
withObjectType: true
@@ -83,7 +83,7 @@ generates:
8383
ID: string
8484
example/valibot/schemas.ts:
8585
plugins:
86-
- ./dist/main/index.js:
86+
- ./dist/cjs/index.js:
8787
schema: valibot
8888
importFrom: ../types
8989
withObjectType: true

package.json

+23-8
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,6 @@
11
{
22
"name": "graphql-codegen-typescript-validation-schema",
3+
"type": "module",
34
"version": "0.15.0",
45
"packageManager": "[email protected]",
56
"description": "GraphQL Code Generator plugin to generate form validation schema from your GraphQL schema",
@@ -28,14 +29,27 @@
2829
],
2930
"exports": {
3031
".": {
31-
"types": "./dist/types/index.d.ts",
32-
"import": "./dist/module/index.js",
33-
"require": "./dist/main/index.js"
34-
}
32+
"import": {
33+
"types": "./dist/types/index.d.ts",
34+
"default": "./dist/esm/index.js"
35+
},
36+
"require": {
37+
"types": "./dist/types/index.d.ts",
38+
"default": "./dist/cjs/index.js"
39+
},
40+
"default": {
41+
"types": "./dist/types/index.d.ts",
42+
"default": "./dist/esm/index.js"
43+
}
44+
},
45+
"./package.json": "./package.json"
3546
},
36-
"main": "dist/main/index.js",
47+
"main": "dist/cjs/index.js",
48+
"module": "dist/esm/index.js",
3749
"typings": "dist/types/index.d.ts",
38-
"module": "dist/module/index.js",
50+
"typescript": {
51+
"definition": "dist/types/index.d.ts"
52+
},
3953
"files": [
4054
"!dist/**/*.tsbuildinfo",
4155
"LICENSE",
@@ -50,12 +64,13 @@
5064
"type-check:valibot": "tsc --strict --skipLibCheck --noEmit example/valibot/schemas.ts",
5165
"test": "vitest run",
5266
"build": "run-p build:*",
53-
"build:main": "tsc -p tsconfig.main.json",
54-
"build:module": "tsc -p tsconfig.module.json",
67+
"build:cjs": "tsc -p tsconfig.cjs.json && echo '{\"type\":\"commonjs\"}' > dist/cjs/package.json",
68+
"build:esm": "tsc -p tsconfig.esm.json && echo '{\"type\":\"module\"}' > dist/esm/package.json",
5569
"build:types": "tsc -p tsconfig.types.json",
5670
"lint": "eslint .",
5771
"lint-fix": "eslint . --fix",
5872
"generate": "run-p build:* && graphql-codegen",
73+
"generate:esm": "run-p build:* && graphql-codegen-esm",
5974
"prepublish": "run-p build:*"
6075
},
6176
"peerDependencies": {

src/directive.ts

+2-2
Original file line numberDiff line numberDiff line change
@@ -1,8 +1,8 @@
11
import type { ConstArgumentNode, ConstDirectiveNode, ConstValueNode } from 'graphql';
22
import { Kind, valueFromASTUntyped } from 'graphql';
33

4-
import type { DirectiveConfig, DirectiveObjectArguments } from './config';
5-
import { isConvertableRegexp } from './regexp';
4+
import type { DirectiveConfig, DirectiveObjectArguments } from './config.js';
5+
import { isConvertableRegexp } from './regexp.js';
66

77
export interface FormattedDirectiveConfig {
88
[directive: string]: FormattedDirectiveArguments

src/index.ts

+7-7
Original file line numberDiff line numberDiff line change
@@ -3,13 +3,13 @@ import { transformSchemaAST } from '@graphql-codegen/schema-ast';
33
import type { GraphQLSchema } from 'graphql';
44
import { buildSchema, printSchema, visit } from 'graphql';
55

6-
import type { ValidationSchemaPluginConfig } from './config';
7-
import { isGeneratedByIntrospection, topologicalSortAST } from './graphql';
8-
import { MyZodSchemaVisitor } from './myzod/index';
9-
import type { SchemaVisitor } from './types';
10-
import { YupSchemaVisitor } from './yup/index';
11-
import { ZodSchemaVisitor } from './zod/index';
12-
import { ValibotSchemaVisitor } from './valibot';
6+
import type { ValidationSchemaPluginConfig } from './config.js';
7+
import { isGeneratedByIntrospection, topologicalSortAST } from './graphql.js';
8+
import { MyZodSchemaVisitor } from './myzod/index.js';
9+
import type { SchemaVisitor } from './types.js';
10+
import { YupSchemaVisitor } from './yup/index.js';
11+
import { ZodSchemaVisitor } from './zod/index.js';
12+
import { ValibotSchemaVisitor } from './valibot/index.js';
1313

1414
export const plugin: PluginFunction<ValidationSchemaPluginConfig, Types.ComplexPluginOutput> = (
1515
schema: GraphQLSchema,

src/myzod/index.ts

+4-4
Original file line numberDiff line numberDiff line change
@@ -16,10 +16,10 @@ import {
1616
} from 'graphql';
1717

1818
import { resolveExternalModuleAndFn } from '@graphql-codegen/plugin-helpers';
19-
import type { ValidationSchemaPluginConfig } from '../config';
20-
import { buildApi, formatDirectiveConfig } from '../directive';
21-
import { BaseSchemaVisitor } from '../schema_visitor';
22-
import type { Visitor } from '../visitor';
19+
import type { ValidationSchemaPluginConfig } from '../config.js';
20+
import { buildApi, formatDirectiveConfig } from '../directive.js';
21+
import { BaseSchemaVisitor } from '../schema_visitor.js';
22+
import type { Visitor } from '../visitor.js';
2323
import {
2424
InterfaceTypeDefinitionBuilder,
2525
ObjectTypeDefinitionBuilder,

src/schema_visitor.ts

+3-3
Original file line numberDiff line numberDiff line change
@@ -6,9 +6,9 @@ import type {
66
ObjectTypeDefinitionNode,
77
} from 'graphql';
88

9-
import type { ValidationSchemaPluginConfig } from './config';
10-
import type { SchemaVisitor } from './types';
11-
import { Visitor } from './visitor';
9+
import type { ValidationSchemaPluginConfig } from './config.js';
10+
import type { SchemaVisitor } from './types.js';
11+
import { Visitor } from './visitor.js';
1212

1313
export abstract class BaseSchemaVisitor implements SchemaVisitor {
1414
protected importTypes: string[] = [];

src/valibot/index.ts

+4-4
Original file line numberDiff line numberDiff line change
@@ -12,10 +12,10 @@ import type {
1212
UnionTypeDefinitionNode,
1313
} from 'graphql';
1414

15-
import type { ValidationSchemaPluginConfig } from '../config';
16-
import { BaseSchemaVisitor } from '../schema_visitor';
17-
import type { Visitor } from '../visitor';
18-
import { buildApiForValibot, formatDirectiveConfig } from '../directive';
15+
import type { ValidationSchemaPluginConfig } from '../config.js';
16+
import { BaseSchemaVisitor } from '../schema_visitor.js';
17+
import type { Visitor } from '../visitor.js';
18+
import { buildApiForValibot, formatDirectiveConfig } from '../directive.js';
1919
import {
2020
InterfaceTypeDefinitionBuilder,
2121
ObjectTypeDefinitionBuilder,

src/visitor.ts

+1-1
Original file line numberDiff line numberDiff line change
@@ -10,7 +10,7 @@ import {
1010
specifiedScalarTypes,
1111
} from 'graphql';
1212

13-
import type { ValidationSchemaPluginConfig } from './config';
13+
import type { ValidationSchemaPluginConfig } from './config.js';
1414

1515
export class Visitor extends TsVisitor {
1616
constructor(

src/yup/index.ts

+4-4
Original file line numberDiff line numberDiff line change
@@ -16,10 +16,10 @@ import {
1616
} from 'graphql';
1717

1818
import { resolveExternalModuleAndFn } from '@graphql-codegen/plugin-helpers';
19-
import type { ValidationSchemaPluginConfig } from '../config';
20-
import { buildApi, formatDirectiveConfig } from '../directive';
21-
import { BaseSchemaVisitor } from '../schema_visitor';
22-
import type { Visitor } from '../visitor';
19+
import type { ValidationSchemaPluginConfig } from '../config.js';
20+
import { buildApi, formatDirectiveConfig } from '../directive.js';
21+
import { BaseSchemaVisitor } from '../schema_visitor.js';
22+
import type { Visitor } from '../visitor.js';
2323
import {
2424
InterfaceTypeDefinitionBuilder,
2525
ObjectTypeDefinitionBuilder,

src/zod/index.ts

+4-4
Original file line numberDiff line numberDiff line change
@@ -16,10 +16,10 @@ import {
1616
} from 'graphql';
1717

1818
import { resolveExternalModuleAndFn } from '@graphql-codegen/plugin-helpers';
19-
import type { ValidationSchemaPluginConfig } from '../config';
20-
import { buildApi, formatDirectiveConfig } from '../directive';
21-
import { BaseSchemaVisitor } from '../schema_visitor';
22-
import type { Visitor } from '../visitor';
19+
import type { ValidationSchemaPluginConfig } from '../config.js';
20+
import { buildApi, formatDirectiveConfig } from '../directive.js';
21+
import { BaseSchemaVisitor } from '../schema_visitor.js';
22+
import type { Visitor } from '../visitor.js';
2323
import {
2424
InterfaceTypeDefinitionBuilder,
2525
ObjectTypeDefinitionBuilder,

tsconfig.main.json tsconfig.cjs.json

+1-1
Original file line numberDiff line numberDiff line change
@@ -5,7 +5,7 @@
55
"rootDir": "src",
66
"types": ["node"],
77
"declaration": false,
8-
"outDir": "dist/main"
8+
"outDir": "dist/cjs"
99
},
1010
"exclude": [
1111
"example",

tsconfig.module.json tsconfig.esm.json

+1-1
Original file line numberDiff line numberDiff line change
@@ -9,7 +9,7 @@
99
"resolveJsonModule": true,
1010
"types": ["node"],
1111
"declaration": false,
12-
"outDir": "dist/module"
12+
"outDir": "dist/esm"
1313
},
1414
"exclude": [
1515
"node_modules/**",

0 commit comments

Comments
 (0)