Skip to content

Commit

Permalink
use ESM
Browse files Browse the repository at this point in the history
- Keep `@mizdra/graphql-codegen-typescript-fabbrica` as CJS because of dotansimha/graphql-code-generator#9896
- Convert `@mizdra/graphql-codegen-typescript-fabbrica` to ESM
  • Loading branch information
mizdra committed Mar 10, 2024
1 parent 1ed5aca commit fac473b
Show file tree
Hide file tree
Showing 3 changed files with 16 additions and 11 deletions.
12 changes: 7 additions & 5 deletions package.json
Original file line number Diff line number Diff line change
Expand Up @@ -2,20 +2,22 @@
"name": "@mizdra/graphql-codegen-typescript-fabbrica",
"description": "GraphQL Code Generator Plugin to define mock data factory.",
"version": "0.3.2",
"type": "commonjs",
"type": "module",
"sideEffects": false,
"repository": "https://github.com/mizdra/graphql-codegen-typescript-fabbrica.git",
"author": "mizdra <pp.mizdra@gmail.com>",
"license": "MIT",
"private": false,
"exports": {
".": {
"types": "./dist/index.d.ts",
"default": "./dist/index.js"
"types": "./dist/index.d.cts",
"default": "./dist/index.cjs"
},
"./helper": {
"types": "./dist/helper/index.d.ts",
"default": "./dist/helper/index.js"
"import": {
"types": "./dist/helper/index.d.ts",
"default": "./dist/helper/index.js"
}
}
},
"workspaces": [
Expand Down
11 changes: 7 additions & 4 deletions src/index.ts → src/index.cts
Original file line number Diff line number Diff line change
@@ -1,13 +1,16 @@
// MEMO: The tests for this module are covered by `e2e/*.e2e.ts`.

import { type CodegenPlugin } from '@graphql-codegen/plugin-helpers';
import { generateCode } from './code-generator.js';
import { normalizeConfig, validateConfig } from './config.js';
import { getTypeInfos } from './schema-scanner.js';

const plugin: CodegenPlugin = {
plugin(schema, _documents, config, _info) {
async plugin(schema, _documents, config, _info) {
const { generateCode } = await import('./code-generator.js');
const { normalizeConfig, validateConfig } = await import('./config.js');
const { getTypeInfos } = await import('./schema-scanner.js');

// @ts-expect-error Maybe... This is a bug of `typescript`.
validateConfig(config);

const normalizedConfig = normalizeConfig(config);
const typeInfos = getTypeInfos(normalizedConfig, schema);
const code = generateCode(normalizedConfig, typeInfos);
Expand Down
4 changes: 2 additions & 2 deletions tsconfig.json
Original file line number Diff line number Diff line change
Expand Up @@ -2,8 +2,8 @@
"extends": ["@tsconfig/strictest/tsconfig.json", "@tsconfig/node18/tsconfig.json"],
"exclude": ["node_modules", "dist", "e2e"],
"compilerOptions": {
"module": "CommonJS",
"moduleResolution": "node16",
"module": "NodeNext",
"moduleResolution": "NodeNext",
"noEmit": true,
/* Lint Options */
"noUnusedLocals": false, // Delegate to @typescript-eslint/no-unused-vars in eslint
Expand Down

0 comments on commit fac473b

Please sign in to comment.