@kiwano/core 2.2.0-beta.2 → 3.0.0-beta.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (101) hide show
  1. package/LICENSE +21 -0
  2. package/dist/index.cjs +2250 -0
  3. package/dist/index.js +2118 -35
  4. package/dist/{Builder.d.ts → types/Builder.d.ts} +5 -5
  5. package/dist/{argument.d.ts → types/argument.d.ts} +3 -3
  6. package/dist/{common.d.ts → types/common.d.ts} +2 -2
  7. package/dist/{entity → types/entity}/createInputObjectType.d.ts +3 -3
  8. package/dist/{entity → types/entity}/entitySchema.d.ts +4 -4
  9. package/dist/{entity → types/entity}/updateInputObjectType.d.ts +3 -3
  10. package/dist/{enumType.d.ts → types/enumType.d.ts} +3 -3
  11. package/dist/{enumValue.d.ts → types/enumValue.d.ts} +3 -3
  12. package/dist/{field.d.ts → types/field.d.ts} +7 -7
  13. package/dist/{inputField.d.ts → types/inputField.d.ts} +3 -3
  14. package/dist/{inputObjectType.d.ts → types/inputObjectType.d.ts} +5 -5
  15. package/dist/{naming → types/naming}/common.d.ts +1 -2
  16. package/dist/{naming → types/naming}/compact.d.ts +1 -1
  17. package/dist/{naming → types/naming}/descriptive.d.ts +1 -1
  18. package/dist/{objectType.d.ts → types/objectType.d.ts} +4 -4
  19. package/dist/{plugin → types/plugin}/MultiPlugin.d.ts +14 -14
  20. package/dist/{plugin → types/plugin}/acl/acl.d.ts +5 -5
  21. package/dist/{plugin → types/plugin}/acl/middleware.d.ts +4 -4
  22. package/dist/{plugin → types/plugin}/common.d.ts +13 -13
  23. package/dist/{plugin → types/plugin}/filter/equals.d.ts +5 -5
  24. package/dist/{plugin → types/plugin}/filter/search.d.ts +3 -3
  25. package/dist/{plugin → types/plugin}/pagination/connection.d.ts +3 -3
  26. package/dist/{plugin → types/plugin}/pagination/firstAfter.d.ts +3 -3
  27. package/dist/{plugin → types/plugin}/pagination/items.d.ts +3 -3
  28. package/dist/{plugin → types/plugin}/pagination/offsetLimit.d.ts +3 -3
  29. package/dist/{plugin → types/plugin}/pagination/simple.d.ts +1 -1
  30. package/dist/{plugin → types/plugin}/sort/sort.d.ts +5 -5
  31. package/dist/{schema.d.ts → types/schema.d.ts} +9 -9
  32. package/dist/{unionType.d.ts → types/unionType.d.ts} +3 -3
  33. package/dist/{util.d.ts → types/util.d.ts} +4 -4
  34. package/package.json +43 -34
  35. package/dist/Builder.js +0 -113
  36. package/dist/argument.js +0 -100
  37. package/dist/common.js +0 -2
  38. package/dist/entity/createInputObjectType.js +0 -55
  39. package/dist/entity/entitySchema.js +0 -212
  40. package/dist/entity/index.js +0 -24
  41. package/dist/entity/updateInputObjectType.js +0 -55
  42. package/dist/enumType.js +0 -126
  43. package/dist/enumValue.js +0 -60
  44. package/dist/error/FrameworkError.js +0 -12
  45. package/dist/error/index.js +0 -18
  46. package/dist/error/resolver/DataError.js +0 -11
  47. package/dist/error/resolver/ForbiddenError.js +0 -11
  48. package/dist/error/resolver/InvalidInputError.js +0 -11
  49. package/dist/error/resolver/NotFoundError.js +0 -11
  50. package/dist/error/resolver/ResolverError.js +0 -11
  51. package/dist/error/resolver/index.js +0 -21
  52. package/dist/field.js +0 -193
  53. package/dist/inputField.js +0 -100
  54. package/dist/inputObjectType.js +0 -119
  55. package/dist/naming/common.js +0 -2
  56. package/dist/naming/compact.js +0 -54
  57. package/dist/naming/descriptive.js +0 -54
  58. package/dist/naming/index.js +0 -20
  59. package/dist/naming/util.js +0 -22
  60. package/dist/objectType.js +0 -140
  61. package/dist/plugin/MultiPlugin.js +0 -147
  62. package/dist/plugin/PluginError.js +0 -11
  63. package/dist/plugin/acl/acl.js +0 -205
  64. package/dist/plugin/acl/index.js +0 -18
  65. package/dist/plugin/acl/middleware.js +0 -48
  66. package/dist/plugin/common.js +0 -2
  67. package/dist/plugin/filter/equals.js +0 -124
  68. package/dist/plugin/filter/index.js +0 -18
  69. package/dist/plugin/filter/search.js +0 -24
  70. package/dist/plugin/index.js +0 -23
  71. package/dist/plugin/pagination/connection.js +0 -115
  72. package/dist/plugin/pagination/firstAfter.js +0 -19
  73. package/dist/plugin/pagination/index.js +0 -22
  74. package/dist/plugin/pagination/items.js +0 -78
  75. package/dist/plugin/pagination/offsetLimit.js +0 -19
  76. package/dist/plugin/pagination/relay.js +0 -26
  77. package/dist/plugin/pagination/simple.js +0 -20
  78. package/dist/plugin/sort/index.js +0 -22
  79. package/dist/plugin/sort/sort.js +0 -151
  80. package/dist/schema.js +0 -380
  81. package/dist/unionType.js +0 -75
  82. package/dist/util.js +0 -142
  83. /package/dist/{entity → types/entity}/index.d.ts +0 -0
  84. /package/dist/{error → types/error}/FrameworkError.d.ts +0 -0
  85. /package/dist/{error → types/error}/index.d.ts +0 -0
  86. /package/dist/{error → types/error}/resolver/DataError.d.ts +0 -0
  87. /package/dist/{error → types/error}/resolver/ForbiddenError.d.ts +0 -0
  88. /package/dist/{error → types/error}/resolver/InvalidInputError.d.ts +0 -0
  89. /package/dist/{error → types/error}/resolver/NotFoundError.d.ts +0 -0
  90. /package/dist/{error → types/error}/resolver/ResolverError.d.ts +0 -0
  91. /package/dist/{error → types/error}/resolver/index.d.ts +0 -0
  92. /package/dist/{index.d.ts → types/index.d.ts} +0 -0
  93. /package/dist/{naming → types/naming}/index.d.ts +0 -0
  94. /package/dist/{naming → types/naming}/util.d.ts +0 -0
  95. /package/dist/{plugin → types/plugin}/PluginError.d.ts +0 -0
  96. /package/dist/{plugin → types/plugin}/acl/index.d.ts +0 -0
  97. /package/dist/{plugin → types/plugin}/filter/index.d.ts +0 -0
  98. /package/dist/{plugin → types/plugin}/index.d.ts +0 -0
  99. /package/dist/{plugin → types/plugin}/pagination/index.d.ts +0 -0
  100. /package/dist/{plugin → types/plugin}/pagination/relay.d.ts +0 -0
  101. /package/dist/{plugin → types/plugin}/sort/index.d.ts +0 -0
@@ -1,9 +1,9 @@
1
- import { GraphQLScalarType, GraphQLType } from "graphql";
2
- import { GraphQLFieldResolver } from "graphql/type/definition";
3
- import { Plugin } from "./plugin";
1
+ import { GraphQLScalarType, type GraphQLType } from "graphql";
2
+ import type { GraphQLFieldResolver } from "graphql/type/definition";
3
+ import type { Plugin } from "./plugin";
4
4
  import FrameworkError from "./error/FrameworkError";
5
- import { Configurator, OptionalPromise } from "./common";
6
- import { AbstractSchemaBuilder } from "./schema";
5
+ import type { Configurator, OptionalPromise } from "./common";
6
+ import type { AbstractSchemaBuilder } from "./schema";
7
7
  export declare class BuilderError extends FrameworkError {
8
8
  }
9
9
  export type BuilderOrConfiguratorOrName<T> = T | Configurator<T> | string;
@@ -1,6 +1,6 @@
1
- import { GraphQLArgumentConfig, GraphQLInputType } from "graphql/type/definition";
2
- import Builder, { BuildContext, FinalizeContext, BuilderName } from "./Builder";
3
- import { Plugin } from "./plugin";
1
+ import type { GraphQLArgumentConfig, GraphQLInputType } from "graphql/type/definition";
2
+ import Builder, { type BuildContext, type FinalizeContext, type BuilderName } from "./Builder";
3
+ import type { Plugin } from "./plugin";
4
4
  export type ArgumentType = string | GraphQLInputType;
5
5
  export interface ArgumentBuilderInfo {
6
6
  name: string;
@@ -1,5 +1,5 @@
1
- import { GraphQLResolveInfo } from "graphql";
2
- export { IMiddleware as Middleware } from "graphql-middleware/dist/types";
1
+ import type { GraphQLResolveInfo } from "graphql";
2
+ export type { IMiddleware as Middleware } from "graphql-middleware";
3
3
  export type ConstructorType<T> = new (...args: any[]) => T;
4
4
  export type OptionalPromise<T = void> = Promise<T> | T;
5
5
  export type Configurator<T> = (object: T) => T | void;
@@ -1,6 +1,6 @@
1
- import { InputObjectTypeBuilder, InputObjectTypeBuilderInfo } from "../inputObjectType";
2
- import { BuilderName, FinalizeContext } from "../Builder";
3
- import { EntityType } from "./entitySchema";
1
+ import { InputObjectTypeBuilder, type InputObjectTypeBuilderInfo } from "../inputObjectType";
2
+ import type { BuilderName, FinalizeContext } from "../Builder";
3
+ import type { EntityType } from "./entitySchema";
4
4
  export declare class CreateInputObjectTypeBuilder extends InputObjectTypeBuilder {
5
5
  protected _entityObjectType: EntityType;
6
6
  protected _exclude: Set<string>;
@@ -1,12 +1,12 @@
1
1
  import { ObjectTypeBuilder } from "../objectType";
2
2
  import { FieldBuilder } from "../field";
3
- import { InputObjectTypeBuilder } from "../inputObjectType";
4
- import { EntityNamingStrategy, EntityNamingStrategyBase } from "../naming";
5
- import { BuilderName, BuilderOrConfiguratorOrName } from "../Builder";
3
+ import type { InputObjectTypeBuilder } from "../inputObjectType";
4
+ import { type EntityNamingStrategy, type EntityNamingStrategyBase } from "../naming";
5
+ import type { BuilderName, BuilderOrConfiguratorOrName } from "../Builder";
6
6
  import { AbstractSchemaBuilder } from "../schema";
7
7
  import { CreateInputObjectTypeBuilder } from "./createInputObjectType";
8
8
  import { UpdateInputObjectTypeBuilder } from "./updateInputObjectType";
9
- import { Configurator } from "../common";
9
+ import type { Configurator } from "../common";
10
10
  export type EntityType = ObjectTypeBuilder | (() => ObjectTypeBuilder);
11
11
  export declare enum EntityFieldType {
12
12
  ALL = "ALL",
@@ -1,6 +1,6 @@
1
- import { InputObjectTypeBuilder, InputObjectTypeBuilderInfo } from "../inputObjectType";
2
- import { BuilderName, FinalizeContext } from "../Builder";
3
- import { EntityType } from "./entitySchema";
1
+ import { InputObjectTypeBuilder, type InputObjectTypeBuilderInfo } from "../inputObjectType";
2
+ import type { BuilderName, FinalizeContext } from "../Builder";
3
+ import type { EntityType } from "./entitySchema";
4
4
  export declare class UpdateInputObjectTypeBuilder extends InputObjectTypeBuilder {
5
5
  protected _entityObjectType: EntityType;
6
6
  protected _exclude: Set<string>;
@@ -1,8 +1,8 @@
1
1
  import { GraphQLEnumType } from "graphql/type/definition";
2
- import Builder, { BuildContext, FinalizeContext, BuilderName } from "./Builder";
2
+ import Builder, { type BuildContext, type FinalizeContext, type BuilderName } from "./Builder";
3
3
  import { EnumValueBuilder } from "./enumValue";
4
- import { Configurator } from "./common";
5
- import { Plugin } from "./plugin";
4
+ import type { Configurator } from "./common";
5
+ import type { Plugin } from "./plugin";
6
6
  export interface EnumTypeBuilderInfo {
7
7
  name: string;
8
8
  description?: string;
@@ -1,6 +1,6 @@
1
- import { GraphQLEnumValueConfig } from "graphql/type/definition";
2
- import Builder, { BuildContext, FinalizeContext, BuilderName } from "./Builder";
3
- import { Plugin } from "./plugin";
1
+ import type { GraphQLEnumValueConfig } from "graphql/type/definition";
2
+ import Builder, { type BuildContext, type FinalizeContext, type BuilderName } from "./Builder";
3
+ import type { Plugin } from "./plugin";
4
4
  export interface EnumValueBuilderInfo {
5
5
  name: string;
6
6
  value?: any;
@@ -1,10 +1,10 @@
1
- import { GraphQLFieldConfig, GraphQLFieldResolver } from "graphql/type/definition";
2
- import { GraphQLOutputType } from "graphql";
3
- import { ArgumentBuilder, ArgumentType } from "./argument";
4
- import { ObjectTypeBuilder } from "./objectType";
5
- import Builder, { BuildContext, FinalizeContext, BuilderName } from "./Builder";
6
- import { Configurator } from "./common";
7
- import { Plugin } from "./plugin";
1
+ import type { GraphQLFieldConfig, GraphQLFieldResolver } from "graphql/type/definition";
2
+ import { type GraphQLOutputType } from "graphql";
3
+ import { ArgumentBuilder, type ArgumentType } from "./argument";
4
+ import type { ObjectTypeBuilder } from "./objectType";
5
+ import Builder, { type BuildContext, type FinalizeContext, type BuilderName } from "./Builder";
6
+ import type { Configurator } from "./common";
7
+ import type { Plugin } from "./plugin";
8
8
  export interface FieldBuilderInfo {
9
9
  name: string;
10
10
  type: FieldType;
@@ -1,6 +1,6 @@
1
- import { GraphQLInputFieldConfig, GraphQLInputType } from "graphql/type/definition";
2
- import Builder, { BuildContext, FinalizeContext, BuilderName } from "./Builder";
3
- import { Plugin } from "./plugin";
1
+ import type { GraphQLInputFieldConfig, GraphQLInputType } from "graphql/type/definition";
2
+ import Builder, { type BuildContext, type FinalizeContext, type BuilderName } from "./Builder";
3
+ import type { Plugin } from "./plugin";
4
4
  export type InputFieldType = string | GraphQLInputType;
5
5
  export interface InputFieldBuilderInfo {
6
6
  name: string;
@@ -1,9 +1,9 @@
1
1
  import { GraphQLInputObjectType } from "graphql";
2
- import { GraphQLInputType } from "graphql/type/definition";
3
- import { InputFieldBuilder, InputFieldType } from "./inputField";
4
- import Builder, { BuildContext, BuilderName, FinalizeContext } from "./Builder";
5
- import { Configurator } from "./common";
6
- import { Plugin } from "./plugin";
2
+ import type { GraphQLInputType } from "graphql/type/definition";
3
+ import { InputFieldBuilder, type InputFieldType } from "./inputField";
4
+ import Builder, { type BuildContext, type BuilderName, type FinalizeContext } from "./Builder";
5
+ import type { Configurator } from "./common";
6
+ import type { Plugin } from "./plugin";
7
7
  export interface InputObjectTypeBuilderInfo {
8
8
  name: string;
9
9
  description?: string;
@@ -1,5 +1,4 @@
1
- export interface NamingStrategy {
2
- }
1
+ export type NamingStrategy = {};
3
2
  export interface EntityNamingStrategyBase extends NamingStrategy {
4
3
  entityObject(schemaName: string): string;
5
4
  allField(schemaName: string): string;
@@ -1,4 +1,4 @@
1
- import { EntityNamingStrategy } from "./common";
1
+ import type { EntityNamingStrategy } from "./common";
2
2
  export declare class CompactNamingStrategy implements EntityNamingStrategy {
3
3
  entityObject(schemaName: string): string;
4
4
  allField(schemaName: string): string;
@@ -1,4 +1,4 @@
1
- import { EntityNamingStrategy } from "./common";
1
+ import type { EntityNamingStrategy } from "./common";
2
2
  export declare class DescriptiveNamingStrategy implements EntityNamingStrategy {
3
3
  entityObject(schemaName: string): string;
4
4
  allField(schemaName: string): string;
@@ -1,8 +1,8 @@
1
1
  import { GraphQLObjectType } from "graphql";
2
- import { FieldBuilder, FieldType } from "./field";
3
- import Builder, { BuildContext, BuilderName, FinalizeContext } from "./Builder";
4
- import { Configurator } from "./common";
5
- import { Plugin } from "./plugin";
2
+ import { FieldBuilder, type FieldType } from "./field";
3
+ import Builder, { type BuildContext, type BuilderName, type FinalizeContext } from "./Builder";
4
+ import type { Configurator } from "./common";
5
+ import type { Plugin } from "./plugin";
6
6
  export interface ObjectTypeBuilderInfo {
7
7
  name: string;
8
8
  description?: string;
@@ -1,17 +1,17 @@
1
- import { GraphQLFieldConfig, GraphQLInputObjectType, GraphQLObjectType, GraphQLSchema } from "graphql";
2
- import { GraphQLArgumentConfig, GraphQLEnumType, GraphQLEnumValueConfig, GraphQLInputFieldConfig, GraphQLUnionType } from "graphql/type/definition";
3
- import { SchemaBuilder } from "../schema";
4
- import { FieldBuilder, FieldBuilderInfo } from "../field";
5
- import { ObjectTypeBuilder, ObjectTypeBuilderInfo } from "../objectType";
6
- import { InputObjectTypeBuilder, InputObjectTypeBuilderInfo } from "../inputObjectType";
7
- import { InputFieldBuilder, InputFieldBuilderInfo } from "../inputField";
8
- import { ArgumentBuilder, ArgumentBuilderInfo } from "../argument";
9
- import { EnumTypeBuilder, EnumTypeBuilderInfo } from "../enumType";
10
- import { EnumValueBuilder, EnumValueBuilderInfo } from "../enumValue";
11
- import { UnionTypeBuilder, UnionTypeBuilderInfo } from "../unionType";
12
- import { Plugin } from "./common";
13
- import { OptionalPromise } from "../common";
14
- import { BuildContext, FinalizeContext } from "../Builder";
1
+ import type { GraphQLFieldConfig, GraphQLInputObjectType, GraphQLObjectType, GraphQLSchema } from "graphql";
2
+ import type { GraphQLArgumentConfig, GraphQLEnumType, GraphQLEnumValueConfig, GraphQLInputFieldConfig, GraphQLUnionType } from "graphql/type/definition";
3
+ import type { SchemaBuilder } from "../schema";
4
+ import type { FieldBuilder, FieldBuilderInfo } from "../field";
5
+ import type { ObjectTypeBuilder, ObjectTypeBuilderInfo } from "../objectType";
6
+ import type { InputObjectTypeBuilder, InputObjectTypeBuilderInfo } from "../inputObjectType";
7
+ import type { InputFieldBuilder, InputFieldBuilderInfo } from "../inputField";
8
+ import type { ArgumentBuilder, ArgumentBuilderInfo } from "../argument";
9
+ import type { EnumTypeBuilder, EnumTypeBuilderInfo } from "../enumType";
10
+ import type { EnumValueBuilder, EnumValueBuilderInfo } from "../enumValue";
11
+ import type { UnionTypeBuilder, UnionTypeBuilderInfo } from "../unionType";
12
+ import type { Plugin } from "./common";
13
+ import type { OptionalPromise } from "../common";
14
+ import type { BuildContext, FinalizeContext } from "../Builder";
15
15
  export declare class MultiPlugin implements Plugin {
16
16
  protected _plugins: Plugin[];
17
17
  constructor(plugins?: Plugin[]);
@@ -1,7 +1,7 @@
1
- import { AclMiddlewareOptions } from "./middleware";
2
- import { Plugin } from "../common";
3
- import { SchemaBuilder } from "../../schema";
4
- import { GraphQLSchema } from "graphql";
1
+ import { type AclMiddlewareOptions } from "./middleware";
2
+ import type { Plugin } from "../common";
3
+ import type { SchemaBuilder } from "../../schema";
4
+ import type { GraphQLSchema } from "graphql";
5
5
  export type AclRoleIdentifier = string | number;
6
6
  interface AclRoleConfig {
7
7
  identifier: AclRoleIdentifier;
@@ -40,7 +40,7 @@ export declare class AclPlugin implements Plugin {
40
40
  isAllowed(role: AclRoleIdentifier, resource: string): boolean;
41
41
  isRoleIncluded(role: AclRoleIdentifier, compareRoles: Set<AclRoleIdentifier>): boolean;
42
42
  validate(config: AclValidateConfigType, role?: string): boolean;
43
- middleware(config?: AclValidateConfigType): (req: any, res: any, next: any) => void;
43
+ middleware(config?: AclValidateConfigType): (c: any, next: any) => Promise<any>;
44
44
  rolePath(path: string): this;
45
45
  onForbidden(handler: (resource: string) => void): this;
46
46
  beforeBuildSchema(builder: SchemaBuilder, rootBuilder: SchemaBuilder): void;
@@ -1,11 +1,11 @@
1
- import { Path } from "graphql/jsutils/Path";
2
- import { AclValidateConfigType, AclPlugin } from "./acl";
3
- import { Middleware } from "../../common";
1
+ import type { Path } from "graphql/jsutils/Path";
2
+ import type { AclValidateConfigType, AclPlugin } from "./acl";
3
+ import type { Middleware } from "../../common";
4
4
  export interface AclMiddlewareOptions {
5
5
  rolePath?: string;
6
6
  onForbidden?: (resource: string) => void;
7
7
  }
8
8
  export declare const defaultAclMiddlewareOptions: AclMiddlewareOptions;
9
- export declare function expressAclMiddleware(acl: AclPlugin, config?: AclValidateConfigType, options?: AclMiddlewareOptions): (req: any, res: any, next: any) => void;
9
+ export declare function honoAclMiddleware(acl: AclPlugin, config?: AclValidateConfigType, options?: AclMiddlewareOptions): (c: any, next: any) => Promise<any>;
10
10
  export declare function graphQLAclMiddleware(acl: AclPlugin, schemaName: string, options?: AclMiddlewareOptions): Middleware;
11
11
  export declare function getPathResource(path: Path): string;
@@ -1,16 +1,16 @@
1
- import { GraphQLFieldConfig, GraphQLInputObjectType, GraphQLObjectType, GraphQLSchema } from "graphql";
2
- import { GraphQLArgumentConfig, GraphQLEnumType, GraphQLEnumValueConfig, GraphQLInputFieldConfig, GraphQLUnionType } from "graphql/type/definition";
3
- import { AbstractSchemaBuilder } from "../schema";
4
- import { FieldBuilder, FieldBuilderInfo } from "../field";
5
- import { ObjectTypeBuilder, ObjectTypeBuilderInfo } from "../objectType";
6
- import { InputObjectTypeBuilder, InputObjectTypeBuilderInfo } from "../inputObjectType";
7
- import { InputFieldBuilder, InputFieldBuilderInfo } from "../inputField";
8
- import { ArgumentBuilder, ArgumentBuilderInfo } from "../argument";
9
- import { EnumTypeBuilder, EnumTypeBuilderInfo } from "../enumType";
10
- import { EnumValueBuilder, EnumValueBuilderInfo } from "../enumValue";
11
- import { UnionTypeBuilder, UnionTypeBuilderInfo } from "../unionType";
12
- import { OptionalPromise } from "../common";
13
- import { BuildContext, FinalizeContext } from "../Builder";
1
+ import type { GraphQLFieldConfig, GraphQLInputObjectType, GraphQLObjectType, GraphQLSchema } from "graphql";
2
+ import type { GraphQLArgumentConfig, GraphQLEnumType, GraphQLEnumValueConfig, GraphQLInputFieldConfig, GraphQLUnionType } from "graphql/type/definition";
3
+ import type { AbstractSchemaBuilder } from "../schema";
4
+ import type { FieldBuilder, FieldBuilderInfo } from "../field";
5
+ import type { ObjectTypeBuilder, ObjectTypeBuilderInfo } from "../objectType";
6
+ import type { InputObjectTypeBuilder, InputObjectTypeBuilderInfo } from "../inputObjectType";
7
+ import type { InputFieldBuilder, InputFieldBuilderInfo } from "../inputField";
8
+ import type { ArgumentBuilder, ArgumentBuilderInfo } from "../argument";
9
+ import type { EnumTypeBuilder, EnumTypeBuilderInfo } from "../enumType";
10
+ import type { EnumValueBuilder, EnumValueBuilderInfo } from "../enumValue";
11
+ import type { UnionTypeBuilder, UnionTypeBuilderInfo } from "../unionType";
12
+ import type { OptionalPromise } from "../common";
13
+ import type { BuildContext, FinalizeContext } from "../Builder";
14
14
  export interface Plugin {
15
15
  beforeFinalizeSchema?(builder: AbstractSchemaBuilder<any>): OptionalPromise;
16
16
  afterFinalizeSchema?(builder: AbstractSchemaBuilder<any>): OptionalPromise;
@@ -1,9 +1,9 @@
1
- import { FieldBuilder, FieldBuilderInfo } from "../../field";
2
- import { InputObjectTypeBuilder } from "../../inputObjectType";
1
+ import type { FieldBuilder, FieldBuilderInfo } from "../../field";
2
+ import { type InputObjectTypeBuilder } from "../../inputObjectType";
3
3
  import { ObjectTypeBuilder } from "../../objectType";
4
- import { InputFieldType } from "../../inputField";
5
- import { Plugin } from "../common";
6
- import { BuildContext } from "../../Builder";
4
+ import type { InputFieldType } from "../../inputField";
5
+ import type { Plugin } from "../common";
6
+ import type { BuildContext } from "../../Builder";
7
7
  export interface EqualsFilterPluginOptions {
8
8
  multi?: boolean;
9
9
  manual?: boolean;
@@ -1,6 +1,6 @@
1
- import { FieldBuilder, FieldBuilderInfo } from "../../field";
2
- import { Plugin } from "../common";
3
- import { BuildContext } from "../../Builder";
1
+ import type { FieldBuilder, FieldBuilderInfo } from "../../field";
2
+ import type { Plugin } from "../common";
3
+ import type { BuildContext } from "../../Builder";
4
4
  export interface SearchFilterPluginOptions {
5
5
  argumentName?: string;
6
6
  }
@@ -1,7 +1,7 @@
1
- import { FieldBuilder, FieldBuilderInfo } from "../../field";
1
+ import type { FieldBuilder, FieldBuilderInfo } from "../../field";
2
2
  import { ObjectTypeBuilder } from "../../objectType";
3
- import { Plugin } from "../common";
4
- import { BuildContext } from "../../Builder";
3
+ import type { Plugin } from "../common";
4
+ import type { BuildContext } from "../../Builder";
5
5
  export declare class ConnectionPaginationPlugin implements Plugin {
6
6
  protected _totalCount: boolean;
7
7
  totalCount(): this;
@@ -1,6 +1,6 @@
1
- import { FieldBuilder, FieldBuilderInfo } from "../../field";
2
- import { Plugin } from "../common";
3
- import { BuildContext } from "../../Builder";
1
+ import type { FieldBuilder, FieldBuilderInfo } from "../../field";
2
+ import type { Plugin } from "../common";
3
+ import type { BuildContext } from "../../Builder";
4
4
  export declare class FirstAfterPaginationPlugin implements Plugin {
5
5
  beforeBuildField(builder: FieldBuilder, context: BuildContext, info: FieldBuilderInfo): void;
6
6
  }
@@ -1,7 +1,7 @@
1
- import { FieldBuilder, FieldBuilderInfo } from "../../field";
1
+ import type { FieldBuilder, FieldBuilderInfo } from "../../field";
2
2
  import { ObjectTypeBuilder } from "../../objectType";
3
- import { Plugin } from "../common";
4
- import { BuildContext } from "../../Builder";
3
+ import type { Plugin } from "../common";
4
+ import type { BuildContext } from "../../Builder";
5
5
  export declare class ItemsPaginationPlugin implements Plugin {
6
6
  beforeBuildField(builder: FieldBuilder, context: BuildContext, info: FieldBuilderInfo): void;
7
7
  protected _createListObjectType(name: string, typeName: string): ObjectTypeBuilder;
@@ -1,6 +1,6 @@
1
- import { FieldBuilder, FieldBuilderInfo } from "../../field";
2
- import { Plugin } from "../common";
3
- import { BuildContext } from "../../Builder";
1
+ import type { FieldBuilder, FieldBuilderInfo } from "../../field";
2
+ import type { Plugin } from "../common";
3
+ import type { BuildContext } from "../../Builder";
4
4
  export declare class OffsetLimitPaginationPlugin implements Plugin {
5
5
  beforeBuildField(builder: FieldBuilder, context: BuildContext, info: FieldBuilderInfo): void;
6
6
  }
@@ -1,5 +1,5 @@
1
1
  import MultiPlugin from "../MultiPlugin";
2
- import { Plugin } from "../common";
2
+ import type { Plugin } from "../common";
3
3
  export declare class SimplePaginationPlugin extends MultiPlugin {
4
4
  protected getPlugins(): Plugin[];
5
5
  }
@@ -1,9 +1,9 @@
1
- import { FieldBuilder, FieldBuilderInfo } from "../../field";
2
- import { InputObjectTypeBuilder } from "../../inputObjectType";
3
- import { EnumTypeBuilder } from "../../enumType";
1
+ import type { FieldBuilder, FieldBuilderInfo } from "../../field";
2
+ import { type InputObjectTypeBuilder } from "../../inputObjectType";
3
+ import { type EnumTypeBuilder } from "../../enumType";
4
4
  import { ObjectTypeBuilder } from "../../objectType";
5
- import { Plugin } from "../common";
6
- import { BuildContext } from "../../Builder";
5
+ import type { Plugin } from "../common";
6
+ import type { BuildContext } from "../../Builder";
7
7
  export declare enum SortDirection {
8
8
  ASC = "ASC",
9
9
  DESC = "DESC"
@@ -1,15 +1,15 @@
1
- import { GraphQLSchemaConfig } from "graphql/type/schema";
2
- import { GraphQLFieldResolver } from "graphql/type/definition";
3
- import { GraphQLScalarType, GraphQLSchema, GraphQLType } from "graphql";
1
+ import type { GraphQLSchemaConfig } from "graphql/type/schema";
2
+ import type { GraphQLFieldResolver } from "graphql/type/definition";
3
+ import { type GraphQLScalarType, GraphQLSchema, type GraphQLType } from "graphql";
4
4
  import { ObjectTypeBuilder } from "./objectType";
5
- import { FieldBuilder, FieldType } from "./field";
5
+ import type { FieldBuilder, FieldType } from "./field";
6
6
  import { InputObjectTypeBuilder } from "./inputObjectType";
7
7
  import { EnumTypeBuilder } from "./enumType";
8
- import { UnionTypeBuilder, UnionTypeMemberName } from "./unionType";
9
- import Builder from "./Builder";
10
- import { NamingStrategy } from "./naming";
11
- import { Plugin } from "./plugin";
12
- import { Configurator, Middleware, OptionalPromise } from "./common";
8
+ import { UnionTypeBuilder, type UnionTypeMemberName } from "./unionType";
9
+ import type Builder from "./Builder";
10
+ import type { NamingStrategy } from "./naming";
11
+ import type { Plugin } from "./plugin";
12
+ import type { Configurator, Middleware, OptionalPromise } from "./common";
13
13
  export declare abstract class AbstractSchemaBuilder<NS extends NamingStrategy> {
14
14
  protected _name?: string;
15
15
  protected _tag: number;
@@ -1,7 +1,7 @@
1
1
  import { GraphQLUnionType } from "graphql/type/definition";
2
- import { GraphQLOutputType } from "graphql";
3
- import Builder, { BuildContext, BuilderName, FinalizeContext } from "./Builder";
4
- import { Plugin } from "./plugin";
2
+ import type { GraphQLOutputType } from "graphql";
3
+ import Builder, { type BuildContext, type BuilderName, type FinalizeContext } from "./Builder";
4
+ import type { Plugin } from "./plugin";
5
5
  export interface UnionTypeBuilderInfo {
6
6
  name: string;
7
7
  types: Set<UnionTypeMemberName>;
@@ -1,7 +1,7 @@
1
- import { BuilderOrConfiguratorOrName } from "./Builder";
2
- import { FieldBuilderInfo, FieldType } from "./field";
3
- import { AbstractSchemaBuilder } from "./schema";
4
- import { Configurator } from "./common";
1
+ import type { BuilderOrConfiguratorOrName } from "./Builder";
2
+ import type { FieldBuilderInfo, FieldType } from "./field";
3
+ import type { AbstractSchemaBuilder } from "./schema";
4
+ import type { Configurator } from "./common";
5
5
  export declare const defaultScalarNames: string[];
6
6
  export interface BuilderArgs<T> {
7
7
  builder: T;
package/package.json CHANGED
@@ -1,48 +1,57 @@
1
1
  {
2
2
  "name": "@kiwano/core",
3
- "version": "2.2.0-beta.2",
4
- "description": "",
5
- "main": "dist/index.js",
6
- "typings": "dist/index.d.ts",
7
- "scripts": {
8
- "test": "echo \"Error: no test specified\" && exit 1",
9
- "build": "npm run clean && npm run compile",
10
- "clean": "rimraf ./dist",
11
- "compile": "tsc -p tsconfig.json",
12
- "watch": "tsc --watch --preserveWatchOutput -p tsconfig.json"
3
+ "version": "3.0.0-beta.2",
4
+ "description": "Kiwano lets you create GraphQL schemas programmatically, enabling you to write dynamic and modular schemas, and preventing you from writing repeating declarations.",
5
+ "type": "module",
6
+ "author": {
7
+ "name": "Bart Blok",
8
+ "email": "bart@wittig.nl",
9
+ "url": "https://www.wittig.nl/"
10
+ },
11
+ "license": "MIT",
12
+ "engines": {
13
+ "node": ">=22.14.0",
14
+ "pnpm": ">=10.6.2"
15
+ },
16
+ "exports": {
17
+ ".": {
18
+ "types": "./dist/types/index.d.ts",
19
+ "import": "./dist/index.js",
20
+ "require": "./dist/index.cjs"
21
+ }
13
22
  },
23
+ "main": "./dist/index.cjs",
24
+ "module": "./dist/index.js",
25
+ "types": "./dist/types/index.d.ts",
26
+ "files": [
27
+ "dist"
28
+ ],
29
+ "sideEffects": false,
30
+ "homepage": "https://github.com/kiwano-js/kiwano#readme",
14
31
  "repository": {
15
32
  "type": "git",
16
33
  "url": "git+https://github.com/kiwano-js/kiwano.git"
17
34
  },
18
- "files": [
19
- "dist/**"
20
- ],
21
- "author": "Bart Blok <bart@wittig.nl>",
22
- "license": "MIT",
23
35
  "bugs": {
24
36
  "url": "https://github.com/kiwano-js/kiwano/issues"
25
37
  },
26
- "engines": {
27
- "node": ">= 14.0.0"
28
- },
29
- "homepage": "https://github.com/kiwano-js/kiwano#readme",
30
- "publishConfig": {
31
- "access": "public"
32
- },
33
- "devDependencies": {
34
- "@types/lodash": "^4.17.0",
35
- "graphql": "^16.8.1",
36
- "rimraf": "^5.0.5",
37
- "typescript": "^5.4.3"
38
- },
39
- "dependencies": {
38
+ "peerDependencies": {
39
+ "graphql": "^14.0.0 || ^15.0.0 || ^16.0.0",
40
40
  "@graphql-tools/schema": "^10.0.3",
41
41
  "graphql-middleware": "^6.1.35",
42
- "lodash": "^4.17.21",
43
- "pluralize": "^8.0.0"
42
+ "pluralize": "^8.0.0",
43
+ "es-toolkit": "^1.33.0"
44
44
  },
45
- "peerDependencies": {
46
- "graphql": "^14.0.0 || ^15.0.0 || ^16.0.0"
45
+ "devDependencies": {
46
+ "@rslib/core": "^0.5.4",
47
+ "@wittignl/js-config": "^1.1.0",
48
+ "@types/node": "^22.13.10",
49
+ "typescript": "^5.8.2",
50
+ "vitest": "^3.0.8"
51
+ },
52
+ "scripts": {
53
+ "build": "rslib build",
54
+ "dev": "rslib build --watch",
55
+ "test": "vitest run"
47
56
  }
48
- }
57
+ }