@gqlbase/plugins 0.1.6 → 0.1.7

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 (25) hide show
  1. package/dist/base/ModelPlugin/ModelPlugin.utils.d.ts +1 -0
  2. package/dist/base/ModelPlugin/ModelPlugin.utils.d.ts.map +1 -1
  3. package/dist/base/ModelPlugin/ModelPlugin.utils.js +3 -0
  4. package/dist/base/ModelPlugin/ModelPlugin.utils.js.map +1 -1
  5. package/dist/base/ModelPlugin/index.d.ts +1 -1
  6. package/dist/base/ModelPlugin/index.d.ts.map +1 -1
  7. package/dist/base/ModelPlugin/index.js +1 -1
  8. package/dist/base/ModelPlugin/index.js.map +1 -1
  9. package/dist/dsql/DsqlBaseSchemaGeneratorPlugin/DsqlBaseSchemaGeneratorPlugin.d.ts +37 -0
  10. package/dist/dsql/DsqlBaseSchemaGeneratorPlugin/DsqlBaseSchemaGeneratorPlugin.d.ts.map +1 -0
  11. package/dist/dsql/DsqlBaseSchemaGeneratorPlugin/DsqlBaseSchemaGeneratorPlugin.js +264 -0
  12. package/dist/dsql/DsqlBaseSchemaGeneratorPlugin/DsqlBaseSchemaGeneratorPlugin.js.map +1 -0
  13. package/dist/dsql/DsqlBaseSchemaGeneratorPlugin/DsqlBaseSchemaGeneratorPlugin.utils.d.ts +23 -0
  14. package/dist/dsql/DsqlBaseSchemaGeneratorPlugin/DsqlBaseSchemaGeneratorPlugin.utils.d.ts.map +1 -0
  15. package/dist/dsql/DsqlBaseSchemaGeneratorPlugin/DsqlBaseSchemaGeneratorPlugin.utils.js +55 -0
  16. package/dist/dsql/DsqlBaseSchemaGeneratorPlugin/DsqlBaseSchemaGeneratorPlugin.utils.js.map +1 -0
  17. package/dist/dsql/DsqlBaseSchemaGeneratorPlugin/index.d.ts +2 -0
  18. package/dist/dsql/DsqlBaseSchemaGeneratorPlugin/index.d.ts.map +1 -0
  19. package/dist/dsql/DsqlBaseSchemaGeneratorPlugin/index.js +2 -0
  20. package/dist/dsql/DsqlBaseSchemaGeneratorPlugin/index.js.map +1 -0
  21. package/dist/dsql/index.d.ts +2 -0
  22. package/dist/dsql/index.d.ts.map +1 -0
  23. package/dist/dsql/index.js +5 -0
  24. package/dist/dsql/index.js.map +1 -0
  25. package/package.json +3 -3
@@ -21,6 +21,7 @@ export type OperationType = (typeof ModelOperation)[keyof typeof ModelOperation]
21
21
  export declare const DEFAULT_READ_OPERATIONS: ["get", "list"];
22
22
  export declare const DEFAULT_WRITE_OPERATIONS: ["create", "update", "delete"];
23
23
  export declare const isModel: (node: DefinitionNode) => node is ObjectNode;
24
+ export declare const isPrimaryKeyField: (field: FieldNode) => boolean;
24
25
  export declare const shouldSkipFieldFromInput: (field: FieldNode) => boolean;
25
26
  export declare const shouldSkipFieldFromFilterInput: (field: FieldNode) => boolean;
26
27
  export declare const shouldSkipFieldFromCreateInput: (field: FieldNode) => boolean;
@@ -1 +1 @@
1
- {"version":3,"file":"ModelPlugin.utils.d.ts","sourceRoot":"","sources":["../../../src/base/ModelPlugin/ModelPlugin.utils.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAE,SAAS,EAAgB,UAAU,EAAE,MAAM,0BAA0B,CAAC;AAW/F,MAAM,WAAW,kBAAkB;IACjC,UAAU,EAAE,aAAa,EAAE,CAAC;CAC7B;AAED,eAAO,MAAM,cAAc;;CAEjB,CAAC;AAEX,eAAO,MAAM,cAAc;IACzB,oDAAoD;;IAGpD,oEAAoE;;;;;;;;CAgB5D,CAAC;AAEX,MAAM,MAAM,aAAa,GAAG,CAAC,OAAO,cAAc,CAAC,CAAC,MAAM,OAAO,cAAc,CAAC,CAAC;AAEjF,eAAO,MAAM,uBAAuB,iBAAqD,CAAC;AAC1F,eAAO,MAAM,wBAAwB,gCAID,CAAC;AAErC,eAAO,MAAM,OAAO,GAAI,MAAM,cAAc,KAAG,IAAI,IAAI,UAEtD,CAAC;AAEF,eAAO,MAAM,wBAAwB,GAAI,OAAO,SAAS,KAAG,OAE3D,CAAC;AAEF,eAAO,MAAM,8BAA8B,GAAI,OAAO,SAAS,KAAG,OAKjE,CAAC;AAEF,eAAO,MAAM,8BAA8B,GAAI,OAAO,SAAS,KAAG,OAKjE,CAAC;AAEF,eAAO,MAAM,8BAA8B,GAAI,OAAO,SAAS,KAAG,OAKjE,CAAC"}
1
+ {"version":3,"file":"ModelPlugin.utils.d.ts","sourceRoot":"","sources":["../../../src/base/ModelPlugin/ModelPlugin.utils.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAE,SAAS,EAAgB,UAAU,EAAE,MAAM,0BAA0B,CAAC;AAW/F,MAAM,WAAW,kBAAkB;IACjC,UAAU,EAAE,aAAa,EAAE,CAAC;CAC7B;AAED,eAAO,MAAM,cAAc;;CAEjB,CAAC;AAEX,eAAO,MAAM,cAAc;IACzB,oDAAoD;;IAGpD,oEAAoE;;;;;;;;CAgB5D,CAAC;AAEX,MAAM,MAAM,aAAa,GAAG,CAAC,OAAO,cAAc,CAAC,CAAC,MAAM,OAAO,cAAc,CAAC,CAAC;AAEjF,eAAO,MAAM,uBAAuB,iBAAqD,CAAC;AAC1F,eAAO,MAAM,wBAAwB,gCAID,CAAC;AAErC,eAAO,MAAM,OAAO,GAAI,MAAM,cAAc,KAAG,IAAI,IAAI,UAEtD,CAAC;AAEF,eAAO,MAAM,iBAAiB,GAAI,OAAO,SAAS,KAAG,OAEpD,CAAC;AAEF,eAAO,MAAM,wBAAwB,GAAI,OAAO,SAAS,KAAG,OAE3D,CAAC;AAEF,eAAO,MAAM,8BAA8B,GAAI,OAAO,SAAS,KAAG,OAKjE,CAAC;AAEF,eAAO,MAAM,8BAA8B,GAAI,OAAO,SAAS,KAAG,OAKjE,CAAC;AAEF,eAAO,MAAM,8BAA8B,GAAI,OAAO,SAAS,KAAG,OAKjE,CAAC"}
@@ -30,6 +30,9 @@ export const DEFAULT_WRITE_OPERATIONS = [
30
30
  export const isModel = (node) => {
31
31
  return isObjectNode(node) && node.hasDirective(ModelDirective.MODEL);
32
32
  };
33
+ export const isPrimaryKeyField = (field) => {
34
+ return field.name === "id";
35
+ };
33
36
  export const shouldSkipFieldFromInput = (field) => {
34
37
  return isReadOnly(field) || isServerOnly(field) || isClientOnly(field) || isRelationField(field);
35
38
  };
@@ -1 +1 @@
1
- {"version":3,"file":"ModelPlugin.utils.js","sourceRoot":"","sources":["../../../src/base/ModelPlugin/ModelPlugin.utils.ts"],"names":[],"mappings":"AAAA,OAAO,EAA6B,YAAY,EAAc,MAAM,0BAA0B,CAAC;AAC/F,OAAO,EACL,YAAY,EACZ,YAAY,EACZ,YAAY,EACZ,UAAU,EACV,YAAY,EACZ,YAAY,GACb,MAAM,6BAA6B,CAAC;AACrC,OAAO,EAAE,eAAe,EAAE,MAAM,6BAA6B,CAAC;AAM9D,MAAM,CAAC,MAAM,cAAc,GAAG;IAC5B,KAAK,EAAE,OAAO;CACN,CAAC;AAEX,MAAM,CAAC,MAAM,cAAc,GAAG;IAC5B,oDAAoD;IACpD,IAAI,EAAE,MAAM;IAEZ,oEAAoE;IACpE,KAAK,EAAE,OAAO;IAEd,mBAAmB;IACnB,GAAG,EAAE,KAAK;IACV,IAAI,EAAE,MAAM;IAEZ,sBAAsB;IACtB,MAAM,EAAE,QAAQ;IAChB,MAAM,EAAE,QAAQ;IAChB,MAAM,EAAE,QAAQ;IAChB,MAAM,EAAE,QAAQ;IAEhB,MAAM;IACN,gBAAgB;IAChB,0BAA0B;CAClB,CAAC;AAIX,MAAM,CAAC,MAAM,uBAAuB,GAAG,CAAC,KAAK,EAAE,MAAM,CAAoC,CAAC;AAC1F,MAAM,CAAC,MAAM,wBAAwB,GAAG;IACtC,QAAQ;IACR,QAAQ;IACR,QAAQ;CAC0B,CAAC;AAErC,MAAM,CAAC,MAAM,OAAO,GAAG,CAAC,IAAoB,EAAsB,EAAE;IAClE,OAAO,YAAY,CAAC,IAAI,CAAC,IAAI,IAAI,CAAC,YAAY,CAAC,cAAc,CAAC,KAAK,CAAC,CAAC;AACvE,CAAC,CAAC;AAEF,MAAM,CAAC,MAAM,wBAAwB,GAAG,CAAC,KAAgB,EAAW,EAAE;IACpE,OAAO,UAAU,CAAC,KAAK,CAAC,IAAI,YAAY,CAAC,KAAK,CAAC,IAAI,YAAY,CAAC,KAAK,CAAC,IAAI,eAAe,CAAC,KAAK,CAAC,CAAC;AACnG,CAAC,CAAC;AAEF,MAAM,CAAC,MAAM,8BAA8B,GAAG,CAAC,KAAgB,EAAW,EAAE;IAC1E,OAAO,CACL,wBAAwB,CAAC,KAAK,CAAC;QAC/B,CAAC,CAAC,YAAY,CAAC,KAAK,CAAC,IAAI,YAAY,CAAC,KAAK,CAAC,CAAC,IAAI,CAAC,YAAY,CAAC,KAAK,CAAC,CAAC,CACvE,CAAC;AACJ,CAAC,CAAC;AAEF,MAAM,CAAC,MAAM,8BAA8B,GAAG,CAAC,KAAgB,EAAW,EAAE;IAC1E,OAAO,CACL,wBAAwB,CAAC,KAAK,CAAC;QAC/B,CAAC,CAAC,YAAY,CAAC,KAAK,CAAC,IAAI,YAAY,CAAC,KAAK,CAAC,CAAC,IAAI,CAAC,YAAY,CAAC,KAAK,CAAC,CAAC,CACvE,CAAC;AACJ,CAAC,CAAC;AAEF,MAAM,CAAC,MAAM,8BAA8B,GAAG,CAAC,KAAgB,EAAW,EAAE;IAC1E,OAAO,CACL,wBAAwB,CAAC,KAAK,CAAC;QAC/B,CAAC,CAAC,YAAY,CAAC,KAAK,CAAC,IAAI,YAAY,CAAC,KAAK,CAAC,CAAC,IAAI,CAAC,YAAY,CAAC,KAAK,CAAC,CAAC,CACvE,CAAC;AACJ,CAAC,CAAC"}
1
+ {"version":3,"file":"ModelPlugin.utils.js","sourceRoot":"","sources":["../../../src/base/ModelPlugin/ModelPlugin.utils.ts"],"names":[],"mappings":"AAAA,OAAO,EAA6B,YAAY,EAAc,MAAM,0BAA0B,CAAC;AAC/F,OAAO,EACL,YAAY,EACZ,YAAY,EACZ,YAAY,EACZ,UAAU,EACV,YAAY,EACZ,YAAY,GACb,MAAM,6BAA6B,CAAC;AACrC,OAAO,EAAE,eAAe,EAAE,MAAM,6BAA6B,CAAC;AAM9D,MAAM,CAAC,MAAM,cAAc,GAAG;IAC5B,KAAK,EAAE,OAAO;CACN,CAAC;AAEX,MAAM,CAAC,MAAM,cAAc,GAAG;IAC5B,oDAAoD;IACpD,IAAI,EAAE,MAAM;IAEZ,oEAAoE;IACpE,KAAK,EAAE,OAAO;IAEd,mBAAmB;IACnB,GAAG,EAAE,KAAK;IACV,IAAI,EAAE,MAAM;IAEZ,sBAAsB;IACtB,MAAM,EAAE,QAAQ;IAChB,MAAM,EAAE,QAAQ;IAChB,MAAM,EAAE,QAAQ;IAChB,MAAM,EAAE,QAAQ;IAEhB,MAAM;IACN,gBAAgB;IAChB,0BAA0B;CAClB,CAAC;AAIX,MAAM,CAAC,MAAM,uBAAuB,GAAG,CAAC,KAAK,EAAE,MAAM,CAAoC,CAAC;AAC1F,MAAM,CAAC,MAAM,wBAAwB,GAAG;IACtC,QAAQ;IACR,QAAQ;IACR,QAAQ;CAC0B,CAAC;AAErC,MAAM,CAAC,MAAM,OAAO,GAAG,CAAC,IAAoB,EAAsB,EAAE;IAClE,OAAO,YAAY,CAAC,IAAI,CAAC,IAAI,IAAI,CAAC,YAAY,CAAC,cAAc,CAAC,KAAK,CAAC,CAAC;AACvE,CAAC,CAAC;AAEF,MAAM,CAAC,MAAM,iBAAiB,GAAG,CAAC,KAAgB,EAAW,EAAE;IAC7D,OAAO,KAAK,CAAC,IAAI,KAAK,IAAI,CAAC;AAC7B,CAAC,CAAC;AAEF,MAAM,CAAC,MAAM,wBAAwB,GAAG,CAAC,KAAgB,EAAW,EAAE;IACpE,OAAO,UAAU,CAAC,KAAK,CAAC,IAAI,YAAY,CAAC,KAAK,CAAC,IAAI,YAAY,CAAC,KAAK,CAAC,IAAI,eAAe,CAAC,KAAK,CAAC,CAAC;AACnG,CAAC,CAAC;AAEF,MAAM,CAAC,MAAM,8BAA8B,GAAG,CAAC,KAAgB,EAAW,EAAE;IAC1E,OAAO,CACL,wBAAwB,CAAC,KAAK,CAAC;QAC/B,CAAC,CAAC,YAAY,CAAC,KAAK,CAAC,IAAI,YAAY,CAAC,KAAK,CAAC,CAAC,IAAI,CAAC,YAAY,CAAC,KAAK,CAAC,CAAC,CACvE,CAAC;AACJ,CAAC,CAAC;AAEF,MAAM,CAAC,MAAM,8BAA8B,GAAG,CAAC,KAAgB,EAAW,EAAE;IAC1E,OAAO,CACL,wBAAwB,CAAC,KAAK,CAAC;QAC/B,CAAC,CAAC,YAAY,CAAC,KAAK,CAAC,IAAI,YAAY,CAAC,KAAK,CAAC,CAAC,IAAI,CAAC,YAAY,CAAC,KAAK,CAAC,CAAC,CACvE,CAAC;AACJ,CAAC,CAAC;AAEF,MAAM,CAAC,MAAM,8BAA8B,GAAG,CAAC,KAAgB,EAAW,EAAE;IAC1E,OAAO,CACL,wBAAwB,CAAC,KAAK,CAAC;QAC/B,CAAC,CAAC,YAAY,CAAC,KAAK,CAAC,IAAI,YAAY,CAAC,KAAK,CAAC,CAAC,IAAI,CAAC,YAAY,CAAC,KAAK,CAAC,CAAC,CACvE,CAAC;AACJ,CAAC,CAAC"}
@@ -1,3 +1,3 @@
1
1
  export { ModelPlugin, modelPlugin } from "./ModelPlugin.js";
2
- export { ModelDirective, ModelOperation, isModel, type OperationType, type ModelPluginOptions, } from "./ModelPlugin.utils.js";
2
+ export { ModelDirective, ModelOperation, isModel, isPrimaryKeyField, type OperationType, type ModelPluginOptions, } from "./ModelPlugin.utils.js";
3
3
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/base/ModelPlugin/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,WAAW,EAAE,MAAM,kBAAkB,CAAC;AAC5D,OAAO,EACL,cAAc,EACd,cAAc,EACd,OAAO,EACP,KAAK,aAAa,EAClB,KAAK,kBAAkB,GACxB,MAAM,wBAAwB,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/base/ModelPlugin/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,WAAW,EAAE,MAAM,kBAAkB,CAAC;AAC5D,OAAO,EACL,cAAc,EACd,cAAc,EACd,OAAO,EACP,iBAAiB,EACjB,KAAK,aAAa,EAClB,KAAK,kBAAkB,GACxB,MAAM,wBAAwB,CAAC"}
@@ -1,3 +1,3 @@
1
1
  export { ModelPlugin, modelPlugin } from "./ModelPlugin.js";
2
- export { ModelDirective, ModelOperation, isModel, } from "./ModelPlugin.utils.js";
2
+ export { ModelDirective, ModelOperation, isModel, isPrimaryKeyField, } from "./ModelPlugin.utils.js";
3
3
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/base/ModelPlugin/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,WAAW,EAAE,MAAM,kBAAkB,CAAC;AAC5D,OAAO,EACL,cAAc,EACd,cAAc,EACd,OAAO,GAGR,MAAM,wBAAwB,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/base/ModelPlugin/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,WAAW,EAAE,MAAM,kBAAkB,CAAC;AAC5D,OAAO,EACL,cAAc,EACd,cAAc,EACd,OAAO,EACP,iBAAiB,GAGlB,MAAM,wBAAwB,CAAC"}
@@ -0,0 +1,37 @@
1
+ import { TransformerPluginBase, ITransformerContext } from "@gqlbase/core";
2
+ import { DefinitionNode } from "@gqlbase/core/definition";
3
+ import { DsqlBaseSchemaGeneratorPluginOptions } from "./DsqlBaseSchemaGeneratorPlugin.utils.js";
4
+ /**
5
+ * Generates dsqlbase schema definitions from GraphQL type definitions.
6
+ */
7
+ export declare class DsqlBaseSchemaGeneratorPlugin extends TransformerPluginBase {
8
+ private _options;
9
+ private _imports;
10
+ private _typeImports;
11
+ private _enums;
12
+ private _tables;
13
+ private _relations;
14
+ constructor(context: ITransformerContext, options?: DsqlBaseSchemaGeneratorPluginOptions);
15
+ private _chainCallExp;
16
+ private _callExp;
17
+ private _exportExp;
18
+ private _shouldSkipField;
19
+ private _generateEnum;
20
+ private _resolveScalarDataType;
21
+ private _applyColumnConstraints;
22
+ private _generateColumn;
23
+ private _resolveFieldRelationTarget;
24
+ private _generateFieldRelation;
25
+ private _generateRelations;
26
+ private _generateTable;
27
+ before(): void;
28
+ match(node: DefinitionNode): boolean;
29
+ generate(definition: DefinitionNode): void;
30
+ output(): {
31
+ dsqlBaseSchema: string;
32
+ } | {
33
+ dsqlBaseSchema?: undefined;
34
+ };
35
+ }
36
+ export declare const dsqlbaseSchemaGeneratorPlugin: (options?: DsqlBaseSchemaGeneratorPluginOptions | undefined) => import("@gqlbase/core").IPluginFactory;
37
+ //# sourceMappingURL=DsqlBaseSchemaGeneratorPlugin.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"DsqlBaseSchemaGeneratorPlugin.d.ts","sourceRoot":"","sources":["../../../src/dsql/DsqlBaseSchemaGeneratorPlugin/DsqlBaseSchemaGeneratorPlugin.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,qBAAqB,EAAE,mBAAmB,EAAE,MAAM,eAAe,CAAC;AAC3E,OAAO,EACL,cAAc,EAWf,MAAM,0BAA0B,CAAC;AAWlC,OAAO,EACL,oCAAoC,EAIrC,MAAM,0CAA0C,CAAC;AAYlD;;GAEG;AAEH,qBAAa,6BAA8B,SAAQ,qBAAqB;IACtE,OAAO,CAAC,QAAQ,CAAuC;IAEvD,OAAO,CAAC,QAAQ,CAAqB;IACrC,OAAO,CAAC,YAAY,CAAqB;IAEzC,OAAO,CAAC,MAAM,CAAiB;IAC/B,OAAO,CAAC,OAAO,CAAiB;IAChC,OAAO,CAAC,UAAU,CAAiB;gBAEvB,OAAO,EAAE,mBAAmB,EAAE,OAAO,GAAE,oCAAyC;IAK5F,OAAO,CAAC,aAAa;IAarB,OAAO,CAAC,QAAQ;IAIhB,OAAO,CAAC,UAAU;IAUlB,OAAO,CAAC,gBAAgB;IAIxB,OAAO,CAAC,aAAa;IAsBrB,OAAO,CAAC,sBAAsB;IA6B9B,OAAO,CAAC,uBAAuB;IAoB/B,OAAO,CAAC,eAAe;IA8CvB,OAAO,CAAC,2BAA2B;IAwCnC,OAAO,CAAC,sBAAsB;IAyC9B,OAAO,CAAC,kBAAkB;IA2F1B,OAAO,CAAC,cAAc;IA0Bf,MAAM;IAQN,KAAK,CAAC,IAAI,EAAE,cAAc,GAAG,OAAO;IASpC,QAAQ,CAAC,UAAU,EAAE,cAAc;IAUnC,MAAM;;;;;CAiCd;AAED,eAAO,MAAM,6BAA6B,wGAAqD,CAAC"}
@@ -0,0 +1,264 @@
1
+ import ts from "typescript";
2
+ import { TransformerPluginBase } from "@gqlbase/core";
3
+ import { isDirectiveDefinitionNode, isEnumNode, isListTypeNode, isObjectLike, isObjectNode, isOperationNode, isScalarNode, } from "@gqlbase/core/definition";
4
+ import { createPluginFactory, getTypeHint, isInternal } from "@gqlbase/core/plugins";
5
+ import { isClientOnly, isModel, isRelationField, isSemanticNullable } from "../../base/index.js";
6
+ import { TransformerPluginExecutionError } from "@gqlbase/shared/errors";
7
+ import { camelCase, pluralize, snakeCase } from "@gqlbase/shared/format";
8
+ import { jsonToObjectAst, namedImportStatement, printNodeList, } from "@gqlbase/shared/codegen";
9
+ import { mergeOptions, resolveScalarDataType, resolveTypeHintDataType, } from "./DsqlBaseSchemaGeneratorPlugin.utils.js";
10
+ import { isBuildInScalar } from "@gqlbase/shared/definition";
11
+ import { isPrimaryKeyField } from "../../base/ModelPlugin/index.js";
12
+ import { parseFieldRelation } from "../../base/RelationsPlugin/index.js";
13
+ import { isBelongsToRelationship, isManyRelationship, isOneRelationship, isPaginationConnection, } from "../../base/RelationsPlugin/RelationsPlugin.utils.js";
14
+ import { isRelayConnection, isRelayEdge } from "../../relay/index.js";
15
+ /**
16
+ * Generates dsqlbase schema definitions from GraphQL type definitions.
17
+ */
18
+ export class DsqlBaseSchemaGeneratorPlugin extends TransformerPluginBase {
19
+ _options;
20
+ _imports = new Set();
21
+ _typeImports = new Set();
22
+ _enums = [];
23
+ _tables = [];
24
+ _relations = [];
25
+ constructor(context, options = {}) {
26
+ super("DsqlBaseSchemaGeneratorPlugin", context);
27
+ this._options = mergeOptions(options);
28
+ }
29
+ _chainCallExp(expr, method, args = [], typeArgs = undefined) {
30
+ return ts.factory.createCallExpression(ts.factory.createPropertyAccessExpression(expr, ts.factory.createIdentifier(method)), typeArgs, args);
31
+ }
32
+ _callExp(name, args = []) {
33
+ return ts.factory.createCallExpression(ts.factory.createIdentifier(name), undefined, args);
34
+ }
35
+ _exportExp(name, initializer) {
36
+ return ts.factory.createVariableStatement([ts.factory.createModifier(ts.SyntaxKind.ExportKeyword)], ts.factory.createVariableDeclarationList([ts.factory.createVariableDeclaration(name, undefined, undefined, initializer)], ts.NodeFlags.Const));
37
+ }
38
+ _shouldSkipField(field) {
39
+ return isInternal(field) || isClientOnly(field) || isRelationField(field);
40
+ }
41
+ _generateEnum(definition) {
42
+ if (!definition.values?.length) {
43
+ throw new TransformerPluginExecutionError(this.name, `Enum type ${definition.name} must have at least one value.`);
44
+ }
45
+ this._imports.add("$enum");
46
+ const enumDbName = snakeCase(definition.name, "enum");
47
+ const enumVarName = camelCase(definition.name, "enum");
48
+ const values = definition.values.map((v) => ts.factory.createStringLiteral(v.name));
49
+ const initializer = this._callExp("$enum", [
50
+ ts.factory.createStringLiteral(enumDbName),
51
+ ts.factory.createArrayLiteralExpression(values),
52
+ ]);
53
+ this._enums.push(this._exportExp(enumVarName, initializer));
54
+ }
55
+ _resolveScalarDataType(typeName, columnName) {
56
+ let columnType = resolveScalarDataType(typeName, this._options?.scalarMap);
57
+ if (!columnType) {
58
+ const typeNode = this.context.document.getNodeOrThrow(typeName);
59
+ if (isScalarNode(typeNode)) {
60
+ const hint = getTypeHint(typeNode);
61
+ columnType = resolveTypeHintDataType(hint);
62
+ }
63
+ }
64
+ if (!columnType) {
65
+ throw new TransformerPluginExecutionError(this.name, `Unsupported scalar type "${typeName}". Please provide a mapping via options.scalarMap or ensure the scalar has a valid @gqlbase_typehint.`);
66
+ }
67
+ this._imports.add(columnType.type);
68
+ const args = [ts.factory.createStringLiteral(columnName)];
69
+ if (columnType.options) {
70
+ args.push(jsonToObjectAst(columnType.options));
71
+ }
72
+ return this._callExp(columnType.type, args);
73
+ }
74
+ _applyColumnConstraints(column, field) {
75
+ let expression = column;
76
+ if (isPrimaryKeyField(field)) {
77
+ expression = this._chainCallExp(expression, "primaryKey");
78
+ expression = this._chainCallExp(expression, "defaultRandom");
79
+ return expression;
80
+ }
81
+ if (isListTypeNode(field.type)) {
82
+ // TBD - how to handle constraints on list types?
83
+ }
84
+ if (!isSemanticNullable(field)) {
85
+ expression = this._chainCallExp(expression, "notNull");
86
+ }
87
+ return expression;
88
+ }
89
+ _generateColumn(field) {
90
+ const fieldTypeName = field.type.getTypeName();
91
+ const columnName = snakeCase(field.name);
92
+ if (isBuildInScalar(fieldTypeName)) {
93
+ const column = this._resolveScalarDataType(fieldTypeName, columnName);
94
+ return this._applyColumnConstraints(column, field);
95
+ }
96
+ const typeDef = this.context.document.getNodeOrThrow(fieldTypeName);
97
+ if (isScalarNode(typeDef)) {
98
+ const column = this._resolveScalarDataType(fieldTypeName, columnName);
99
+ return this._applyColumnConstraints(column, field);
100
+ }
101
+ if (isEnumNode(typeDef)) {
102
+ const enumName = camelCase(fieldTypeName, "enum");
103
+ const column = this._chainCallExp(ts.factory.createIdentifier(enumName), "column", [
104
+ ts.factory.createStringLiteral(columnName),
105
+ ]);
106
+ return this._applyColumnConstraints(column, field);
107
+ }
108
+ if (isObjectLike(typeDef) && !isModel(typeDef) && !isOperationNode(typeDef)) {
109
+ this._imports.add("json");
110
+ this._typeImports.add(fieldTypeName);
111
+ const column = this._callExp("json", [ts.factory.createStringLiteral(columnName)]);
112
+ const columnType = ts.factory.createTypeReferenceNode(fieldTypeName);
113
+ return this._chainCallExp(this._applyColumnConstraints(column, field), "$type", [], [columnType]);
114
+ }
115
+ throw new TransformerPluginExecutionError(this.name, `Unsupported field type "${fieldTypeName}" for field "${field.name}".`);
116
+ }
117
+ _resolveFieldRelationTarget(field) {
118
+ const target = this.context.document.getNodeOrThrow(field.type.getTypeName());
119
+ if (isBelongsToRelationship(field) || isOneRelationship(field)) {
120
+ return target;
121
+ }
122
+ if (isManyRelationship(field)) {
123
+ if (!isObjectNode(target)) {
124
+ return target;
125
+ }
126
+ if (isPaginationConnection(target)) {
127
+ const targetName = target.getField("items")?.type.getTypeName();
128
+ if (targetName) {
129
+ return this.context.document.getNodeOrThrow(targetName);
130
+ }
131
+ }
132
+ if (isRelayConnection(target)) {
133
+ const edgeTypeName = target.getField("edges")?.type.getTypeName();
134
+ if (edgeTypeName) {
135
+ const edgeNode = this.context.document.getNodeOrThrow(edgeTypeName);
136
+ if (isObjectNode(edgeNode) && isRelayEdge(edgeNode)) {
137
+ const nodeTypeName = edgeNode.getField("node")?.type.getTypeName();
138
+ if (nodeTypeName) {
139
+ return this.context.document.getNodeOrThrow(nodeTypeName);
140
+ }
141
+ }
142
+ }
143
+ }
144
+ }
145
+ return target;
146
+ }
147
+ _generateFieldRelation(type, sourceTableName, targetTableName, sourceField, targetField) {
148
+ return this._callExp(type, [
149
+ ts.factory.createIdentifier(targetTableName),
150
+ ts.factory.createObjectLiteralExpression([
151
+ ts.factory.createPropertyAssignment(ts.factory.createIdentifier("from"), ts.factory.createArrayLiteralExpression([
152
+ ts.factory.createPropertyAccessExpression(ts.factory.createPropertyAccessExpression(ts.factory.createIdentifier(sourceTableName), ts.factory.createIdentifier("columns")), ts.factory.createIdentifier(sourceField)),
153
+ ])),
154
+ ts.factory.createPropertyAssignment(ts.factory.createIdentifier("to"), ts.factory.createArrayLiteralExpression([
155
+ ts.factory.createPropertyAccessExpression(ts.factory.createPropertyAccessExpression(ts.factory.createIdentifier(targetTableName), ts.factory.createIdentifier("columns")), ts.factory.createIdentifier(targetField)),
156
+ ])),
157
+ ], true),
158
+ ]);
159
+ }
160
+ _generateRelations(node, tableVarName) {
161
+ const relations = [];
162
+ for (const field of node.fields ?? []) {
163
+ if (!isRelationField(field)) {
164
+ continue;
165
+ }
166
+ const target = this._resolveFieldRelationTarget(field);
167
+ if (!isModel(target)) {
168
+ throw new TransformerPluginExecutionError(this.name, `Relation field "${field.name}" on type "${node.name}" must reference a model object type. Found "${target.name}" of kind "${target.kind}".`);
169
+ }
170
+ const relation = parseFieldRelation(node, field, target);
171
+ const targetTableVarName = pluralize(camelCase(target.name));
172
+ if (!relation?.key) {
173
+ throw new TransformerPluginExecutionError(this.name, `Unable to parse relation for field "${field.name}" on type "${node.name}". Ensure the field references a valid model and follows supported relation patterns.`);
174
+ }
175
+ if (isBelongsToRelationship(field)) {
176
+ this._imports.add("belongsTo");
177
+ relations.push(ts.factory.createPropertyAssignment(field.name, this._generateFieldRelation("belongsTo", tableVarName, targetTableVarName, relation.key, "id")));
178
+ }
179
+ if (isOneRelationship(field)) {
180
+ this._imports.add("hasOne");
181
+ relations.push(ts.factory.createPropertyAssignment(field.name, this._generateFieldRelation("hasOne", tableVarName, targetTableVarName, "id", relation.key)));
182
+ }
183
+ if (isManyRelationship(field)) {
184
+ this._imports.add("hasMany");
185
+ relations.push(ts.factory.createPropertyAssignment(field.name, this._generateFieldRelation("hasMany", tableVarName, targetTableVarName, "id", relation.key)));
186
+ }
187
+ }
188
+ if (relations.length) {
189
+ this._imports.add("relations");
190
+ const relation = this._callExp("relations", [
191
+ ts.factory.createIdentifier(tableVarName),
192
+ ts.factory.createObjectLiteralExpression(relations, true),
193
+ ]);
194
+ this._relations.push(this._exportExp(camelCase(node.name, "relations"), relation));
195
+ }
196
+ }
197
+ _generateTable(node) {
198
+ this._imports.add("table");
199
+ const tableName = pluralize(snakeCase(node.name));
200
+ const tableVarName = pluralize(camelCase(node.name));
201
+ const columns = [];
202
+ for (const field of node.fields ?? []) {
203
+ if (this._shouldSkipField(field)) {
204
+ continue;
205
+ }
206
+ const column = this._generateColumn(field);
207
+ columns.push(ts.factory.createPropertyAssignment(field.name, column));
208
+ }
209
+ const tableDef = this._callExp("table", [
210
+ ts.factory.createStringLiteral(tableName),
211
+ ts.factory.createObjectLiteralExpression(columns, true),
212
+ ]);
213
+ this._tables.push(this._exportExp(tableVarName, tableDef));
214
+ this._generateRelations(node, tableVarName);
215
+ }
216
+ before() {
217
+ this._enums = [];
218
+ this._tables = [];
219
+ this._relations = [];
220
+ this._imports.clear();
221
+ this._typeImports.clear();
222
+ }
223
+ match(node) {
224
+ return (!isOperationNode(node) &&
225
+ !isInternal(node) &&
226
+ !isScalarNode(node) &&
227
+ !isDirectiveDefinitionNode(node));
228
+ }
229
+ generate(definition) {
230
+ if (isEnumNode(definition)) {
231
+ return this._generateEnum(definition);
232
+ }
233
+ if (isObjectNode(definition) && isModel(definition)) {
234
+ return this._generateTable(definition);
235
+ }
236
+ }
237
+ output() {
238
+ const importNodes = [];
239
+ const imports = Array.from(this._imports);
240
+ const typeImports = Array.from(this._typeImports);
241
+ if (imports.length > 0) {
242
+ importNodes.push(namedImportStatement("dsqlbase/schema", imports));
243
+ }
244
+ if (typeImports.length > 0) {
245
+ importNodes.push(namedImportStatement("./models.typegen.js", typeImports, true));
246
+ }
247
+ const content = printNodeList(ts.factory.createNodeArray([
248
+ ...importNodes,
249
+ ts.factory.createIdentifier("\n"),
250
+ ...this._enums,
251
+ ...this._tables,
252
+ ...this._relations,
253
+ ]));
254
+ this.context.files.push({
255
+ type: "ts",
256
+ path: "dsqlbase.schema.ts",
257
+ filename: "dsqlbase.schema.ts",
258
+ content,
259
+ });
260
+ return this._options.emitOutput ? { dsqlBaseSchema: content } : {};
261
+ }
262
+ }
263
+ export const dsqlbaseSchemaGeneratorPlugin = createPluginFactory(DsqlBaseSchemaGeneratorPlugin);
264
+ //# sourceMappingURL=DsqlBaseSchemaGeneratorPlugin.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"DsqlBaseSchemaGeneratorPlugin.js","sourceRoot":"","sources":["../../../src/dsql/DsqlBaseSchemaGeneratorPlugin/DsqlBaseSchemaGeneratorPlugin.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,23 @@
1
+ import { BuildInScalar } from "@gqlbase/shared/definition";
2
+ import { BaseScalarName } from "../../base/index.js";
3
+ import { TypeHintValueType } from "@gqlbase/core/plugins";
4
+ export interface ScalarConfig {
5
+ type: string;
6
+ options?: Record<string, unknown>;
7
+ }
8
+ export interface DsqlBaseSchemaGeneratorPluginOptions {
9
+ emitOutput?: boolean;
10
+ scalarMap?: Record<string, string | ScalarConfig>;
11
+ }
12
+ export declare const DEFAULT_OPTIONS: Required<DsqlBaseSchemaGeneratorPluginOptions>;
13
+ export declare const mergeOptions: (options?: DsqlBaseSchemaGeneratorPluginOptions) => {
14
+ scalarMap: {
15
+ [x: string]: string | ScalarConfig;
16
+ };
17
+ emitOutput: boolean;
18
+ };
19
+ export declare const SCALAR_TYPE_MAP: Record<BuildInScalar | BaseScalarName, ScalarConfig>;
20
+ export declare const TYPE_HINT_TYPE_MAP: Record<TypeHintValueType, ScalarConfig>;
21
+ export declare const resolveScalarDataType: (typeName: string, config?: Record<string, string | ScalarConfig>) => ScalarConfig | null;
22
+ export declare function resolveTypeHintDataType(hintValue: TypeHintValueType): ScalarConfig;
23
+ //# sourceMappingURL=DsqlBaseSchemaGeneratorPlugin.utils.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"DsqlBaseSchemaGeneratorPlugin.utils.d.ts","sourceRoot":"","sources":["../../../src/dsql/DsqlBaseSchemaGeneratorPlugin/DsqlBaseSchemaGeneratorPlugin.utils.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAmB,MAAM,4BAA4B,CAAC;AAC5E,OAAO,EAAE,cAAc,EAAgB,MAAM,qBAAqB,CAAC;AACnE,OAAO,EAAE,iBAAiB,EAAE,MAAM,uBAAuB,CAAC;AAE1D,MAAM,WAAW,YAAY;IAC3B,IAAI,EAAE,MAAM,CAAC;IACb,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;CACnC;AAED,MAAM,WAAW,oCAAoC;IACnD,UAAU,CAAC,EAAE,OAAO,CAAC;IACrB,SAAS,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,YAAY,CAAC,CAAC;CACnD;AAED,eAAO,MAAM,eAAe,EAAE,QAAQ,CAAC,oCAAoC,CAG1E,CAAC;AAEF,eAAO,MAAM,YAAY,GAAI,UAAS,oCAAyC;;;;gBAThE,OAAO;CAerB,CAAC;AAEF,eAAO,MAAM,eAAe,EAAE,MAAM,CAAC,aAAa,GAAG,cAAc,EAAE,YAAY,CAgBhF,CAAC;AAEF,eAAO,MAAM,kBAAkB,EAAE,MAAM,CAAC,iBAAiB,EAAE,YAAY,CAOtE,CAAC;AAEF,eAAO,MAAM,qBAAqB,GAChC,UAAU,MAAM,EAChB,SAAS,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,YAAY,CAAC,KAC7C,YAAY,GAAG,IAgBjB,CAAC;AAEF,wBAAgB,uBAAuB,CAAC,SAAS,EAAE,iBAAiB,GAAG,YAAY,CAElF"}
@@ -0,0 +1,55 @@
1
+ import { isBuildInScalar } from "@gqlbase/shared/definition";
2
+ import { isBaseScalar } from "../../base/index.js";
3
+ export const DEFAULT_OPTIONS = {
4
+ emitOutput: false,
5
+ scalarMap: {},
6
+ };
7
+ export const mergeOptions = (options = {}) => {
8
+ return {
9
+ ...DEFAULT_OPTIONS,
10
+ ...options,
11
+ scalarMap: { ...DEFAULT_OPTIONS.scalarMap, ...options.scalarMap },
12
+ };
13
+ };
14
+ export const SCALAR_TYPE_MAP = {
15
+ ID: { type: "uuid" },
16
+ String: { type: "text" },
17
+ Int: { type: "int" },
18
+ Float: { type: "real" },
19
+ Boolean: { type: "bool" },
20
+ UUID: { type: "uuid" },
21
+ DateTime: { type: "timestamp", options: { mode: "iso" } },
22
+ Date: { type: "date", options: { mode: "iso" } },
23
+ Time: { type: "time", options: { mode: "iso" } },
24
+ Timestamp: { type: "timestamp" },
25
+ URL: { type: "text" },
26
+ EmailAddress: { type: "text" },
27
+ PhoneNumber: { type: "text" },
28
+ IPAddress: { type: "text" },
29
+ JSON: { type: "json" },
30
+ };
31
+ export const TYPE_HINT_TYPE_MAP = {
32
+ id: { type: "uuid" },
33
+ string: { type: "text" },
34
+ number: { type: "real" },
35
+ boolean: { type: "bool" },
36
+ object: { type: "json" },
37
+ unknown: { type: "text" },
38
+ };
39
+ export const resolveScalarDataType = (typeName, config) => {
40
+ if (config?.[typeName]) {
41
+ const mapping = config[typeName];
42
+ if (typeof mapping === "string") {
43
+ return { type: mapping };
44
+ }
45
+ return mapping;
46
+ }
47
+ if (isBuildInScalar(typeName) || isBaseScalar(typeName)) {
48
+ return SCALAR_TYPE_MAP[typeName];
49
+ }
50
+ return null;
51
+ };
52
+ export function resolveTypeHintDataType(hintValue) {
53
+ return TYPE_HINT_TYPE_MAP[hintValue];
54
+ }
55
+ //# sourceMappingURL=DsqlBaseSchemaGeneratorPlugin.utils.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"DsqlBaseSchemaGeneratorPlugin.utils.js","sourceRoot":"","sources":["../../../src/dsql/DsqlBaseSchemaGeneratorPlugin/DsqlBaseSchemaGeneratorPlugin.utils.ts"],"names":[],"mappings":"AAAA,OAAO,EAAiB,eAAe,EAAE,MAAM,4BAA4B,CAAC;AAC5E,OAAO,EAAkB,YAAY,EAAE,MAAM,qBAAqB,CAAC;AAanE,MAAM,CAAC,MAAM,eAAe,GAAmD;IAC7E,UAAU,EAAE,KAAK;IACjB,SAAS,EAAE,EAAE;CACd,CAAC;AAEF,MAAM,CAAC,MAAM,YAAY,GAAG,CAAC,UAAgD,EAAE,EAAE,EAAE;IACjF,OAAO;QACL,GAAG,eAAe;QAClB,GAAG,OAAO;QACV,SAAS,EAAE,EAAE,GAAG,eAAe,CAAC,SAAS,EAAE,GAAG,OAAO,CAAC,SAAS,EAAE;KAClE,CAAC;AACJ,CAAC,CAAC;AAEF,MAAM,CAAC,MAAM,eAAe,GAAyD;IACnF,EAAE,EAAE,EAAE,IAAI,EAAE,MAAM,EAAE;IACpB,MAAM,EAAE,EAAE,IAAI,EAAE,MAAM,EAAE;IACxB,GAAG,EAAE,EAAE,IAAI,EAAE,KAAK,EAAE;IACpB,KAAK,EAAE,EAAE,IAAI,EAAE,MAAM,EAAE;IACvB,OAAO,EAAE,EAAE,IAAI,EAAE,MAAM,EAAE;IACzB,IAAI,EAAE,EAAE,IAAI,EAAE,MAAM,EAAE;IACtB,QAAQ,EAAE,EAAE,IAAI,EAAE,WAAW,EAAE,OAAO,EAAE,EAAE,IAAI,EAAE,KAAK,EAAE,EAAE;IACzD,IAAI,EAAE,EAAE,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,EAAE,IAAI,EAAE,KAAK,EAAE,EAAE;IAChD,IAAI,EAAE,EAAE,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,EAAE,IAAI,EAAE,KAAK,EAAE,EAAE;IAChD,SAAS,EAAE,EAAE,IAAI,EAAE,WAAW,EAAE;IAChC,GAAG,EAAE,EAAE,IAAI,EAAE,MAAM,EAAE;IACrB,YAAY,EAAE,EAAE,IAAI,EAAE,MAAM,EAAE;IAC9B,WAAW,EAAE,EAAE,IAAI,EAAE,MAAM,EAAE;IAC7B,SAAS,EAAE,EAAE,IAAI,EAAE,MAAM,EAAE;IAC3B,IAAI,EAAE,EAAE,IAAI,EAAE,MAAM,EAAE;CACvB,CAAC;AAEF,MAAM,CAAC,MAAM,kBAAkB,GAA4C;IACzE,EAAE,EAAE,EAAE,IAAI,EAAE,MAAM,EAAE;IACpB,MAAM,EAAE,EAAE,IAAI,EAAE,MAAM,EAAE;IACxB,MAAM,EAAE,EAAE,IAAI,EAAE,MAAM,EAAE;IACxB,OAAO,EAAE,EAAE,IAAI,EAAE,MAAM,EAAE;IACzB,MAAM,EAAE,EAAE,IAAI,EAAE,MAAM,EAAE;IACxB,OAAO,EAAE,EAAE,IAAI,EAAE,MAAM,EAAE;CAC1B,CAAC;AAEF,MAAM,CAAC,MAAM,qBAAqB,GAAG,CACnC,QAAgB,EAChB,MAA8C,EACzB,EAAE;IACvB,IAAI,MAAM,EAAE,CAAC,QAAQ,CAAC,EAAE,CAAC;QACvB,MAAM,OAAO,GAAG,MAAM,CAAC,QAAQ,CAAC,CAAC;QAEjC,IAAI,OAAO,OAAO,KAAK,QAAQ,EAAE,CAAC;YAChC,OAAO,EAAE,IAAI,EAAE,OAAO,EAAE,CAAC;QAC3B,CAAC;QAED,OAAO,OAAO,CAAC;IACjB,CAAC;IAED,IAAI,eAAe,CAAC,QAAQ,CAAC,IAAI,YAAY,CAAC,QAAQ,CAAC,EAAE,CAAC;QACxD,OAAO,eAAe,CAAC,QAAQ,CAAC,CAAC;IACnC,CAAC;IAED,OAAO,IAAI,CAAC;AACd,CAAC,CAAC;AAEF,MAAM,UAAU,uBAAuB,CAAC,SAA4B;IAClE,OAAO,kBAAkB,CAAC,SAAS,CAAC,CAAC;AACvC,CAAC"}
@@ -0,0 +1,2 @@
1
+ export { DsqlBaseSchemaGeneratorPlugin, dsqlbaseSchemaGeneratorPlugin, } from "./DsqlBaseSchemaGeneratorPlugin.js";
2
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/dsql/DsqlBaseSchemaGeneratorPlugin/index.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,6BAA6B,EAC7B,6BAA6B,GAC9B,MAAM,oCAAoC,CAAC"}
@@ -0,0 +1,2 @@
1
+ export { DsqlBaseSchemaGeneratorPlugin, dsqlbaseSchemaGeneratorPlugin, } from "./DsqlBaseSchemaGeneratorPlugin.js";
2
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/dsql/DsqlBaseSchemaGeneratorPlugin/index.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,6BAA6B,EAC7B,6BAA6B,GAC9B,MAAM,oCAAoC,CAAC"}
@@ -0,0 +1,2 @@
1
+ export declare function dsqlbase(): import("@gqlbase/core").IPluginFactory[];
2
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/dsql/index.ts"],"names":[],"mappings":"AAEA,wBAAgB,QAAQ,6CAEvB"}
@@ -0,0 +1,5 @@
1
+ import { dsqlbaseSchemaGeneratorPlugin } from "./DsqlBaseSchemaGeneratorPlugin/index.js";
2
+ export function dsqlbase() {
3
+ return [dsqlbaseSchemaGeneratorPlugin()];
4
+ }
5
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/dsql/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,6BAA6B,EAAE,MAAM,0CAA0C,CAAC;AAEzF,MAAM,UAAU,QAAQ;IACtB,OAAO,CAAC,6BAA6B,EAAE,CAAC,CAAC;AAC3C,CAAC"}
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "@gqlbase/plugins",
3
3
  "description": "Collection of plugins and presets for gqlbase, providing common transformations and utilities that can be used in GraphQL schema transformation processes.",
4
- "version": "0.1.6",
4
+ "version": "0.1.7",
5
5
  "sideEffects": false,
6
6
  "type": "module",
7
7
  "license": "MIT",
@@ -46,8 +46,8 @@
46
46
  "test": "vitest run"
47
47
  },
48
48
  "dependencies": {
49
- "@gqlbase/core": "^0.1.6",
50
- "@gqlbase/shared": "^0.1.6"
49
+ "@gqlbase/core": "^0.1.7",
50
+ "@gqlbase/shared": "^0.1.7"
51
51
  },
52
52
  "peerDependencies": {
53
53
  "typescript": "^5 || ^6"