@smartive/graphql-magic 8.1.1 → 8.1.3

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.
package/CHANGELOG.md CHANGED
@@ -1,6 +1,6 @@
1
- ## [8.1.1](https://github.com/smartive/graphql-magic/compare/v8.1.0...v8.1.1) (2023-09-06)
1
+ ## [8.1.3](https://github.com/smartive/graphql-magic/compare/v8.1.2...v8.1.3) (2023-09-06)
2
2
 
3
3
 
4
4
  ### Bug Fixes
5
5
 
6
- * Remove gqm code from dist ([#57](https://github.com/smartive/graphql-magic/issues/57)) ([e4d28db](https://github.com/smartive/graphql-magic/commit/e4d28dbd43cbcad835befa7de6fc509e9923d7d1))
6
+ * Merge resolvers ([#59](https://github.com/smartive/graphql-magic/issues/59)) ([6d0f0c1](https://github.com/smartive/graphql-magic/commit/6d0f0c1228eff0da992435b7aa6e7cf00d0c283f))
@@ -22,7 +22,7 @@ var __toESM = (mod, isNodeMode, target) => (target = mod != null ? __create(__ge
22
22
  mod
23
23
  ));
24
24
 
25
- // src/bin/gqm/index.ts
25
+ // src/bin/gqm/gqm.ts
26
26
  var import_commander = require("commander");
27
27
  var import_dotenv = require("dotenv");
28
28
  var import_knex = __toESM(require("knex"), 1);
@@ -31,6 +31,7 @@ var import_simple_git = require("simple-git");
31
31
  // src/api/execute.ts
32
32
  var import_schema = require("@graphql-tools/schema");
33
33
  var import_graphql = require("graphql");
34
+ var import_lodash = require("lodash");
34
35
 
35
36
  // src/client/mutations.ts
36
37
  var import_upperCase = __toESM(require("lodash/upperCase"), 1);
@@ -1736,7 +1737,7 @@ var parseModels = async () => {
1736
1737
  return rawModels;
1737
1738
  };
1738
1739
 
1739
- // src/bin/gqm/index.ts
1740
+ // src/bin/gqm/gqm.ts
1740
1741
  (0, import_dotenv.config)({
1741
1742
  path: ".env"
1742
1743
  });
@@ -128,7 +128,7 @@ __export(src_exports, {
128
128
  isVisibleRelation: () => isVisibleRelation,
129
129
  it: () => it,
130
130
  list: () => list,
131
- merge: () => merge,
131
+ merge: () => merge2,
132
132
  mutationResolver: () => mutationResolver,
133
133
  name: () => name,
134
134
  namedType: () => namedType,
@@ -158,6 +158,7 @@ module.exports = __toCommonJS(src_exports);
158
158
  // src/api/execute.ts
159
159
  var import_schema = require("@graphql-tools/schema");
160
160
  var import_graphql = require("graphql");
161
+ var import_lodash = require("lodash");
161
162
  var execute = async ({
162
163
  additionalResolvers,
163
164
  body,
@@ -167,10 +168,7 @@ var execute = async ({
167
168
  const generatedResolvers = getResolvers(ctx.models);
168
169
  const schema = (0, import_schema.makeExecutableSchema)({
169
170
  typeDefs: document2,
170
- resolvers: {
171
- ...generatedResolvers,
172
- ...additionalResolvers
173
- }
171
+ resolvers: (0, import_lodash.merge)(generatedResolvers, additionalResolvers)
174
172
  });
175
173
  const contextValue = {
176
174
  document: document2,
@@ -255,7 +253,7 @@ var import_get = __toESM(require("lodash/get"), 1);
255
253
  var import_kebabCase = __toESM(require("lodash/kebabCase"), 1);
256
254
  var import_startCase = __toESM(require("lodash/startCase"), 1);
257
255
  var isNotFalsy = (v) => typeof v !== "undefined" && v !== null && v !== false;
258
- var merge = (objects) => (objects || []).filter(isNotFalsy).reduce((i, acc) => ({ ...acc, ...i }), {});
256
+ var merge2 = (objects) => (objects || []).filter(isNotFalsy).reduce((i, acc) => ({ ...acc, ...i }), {});
259
257
  var typeToField = (type) => type.substr(0, 1).toLowerCase() + type.substr(1);
260
258
  var getModelPlural = (model) => model.plural || (0, import_inflection.pluralize)(model.name);
261
259
  var getModelPluralField = (model) => typeToField(getModelPlural(model));
@@ -2345,7 +2343,7 @@ var isEndOfDay = (field) => isPrimitive(field) && field.type === "DateTime" && f
2345
2343
 
2346
2344
  // src/resolvers/resolvers.ts
2347
2345
  var getResolvers = (models) => ({
2348
- Query: merge([
2346
+ Query: merge2([
2349
2347
  {
2350
2348
  me: queryResolver
2351
2349
  },
@@ -2356,7 +2354,7 @@ var getResolvers = (models) => ({
2356
2354
  [getModelPluralField(model)]: queryResolver
2357
2355
  }))
2358
2356
  ]),
2359
- Mutation: merge([
2357
+ Mutation: merge2([
2360
2358
  ...models.filter(({ creatable }) => creatable).map((model) => ({
2361
2359
  [`create${model.name}`]: mutationResolver
2362
2360
  })),
@@ -1,15 +1,13 @@
1
1
  import { makeExecutableSchema } from '@graphql-tools/schema';
2
2
  import { Source, execute as graphqlExecute, parse } from 'graphql';
3
+ import { merge } from 'lodash';
3
4
  import { generate, get, getResolvers } from '..';
4
5
  export const execute = async ({ additionalResolvers, body, ...ctx }) => {
5
6
  const document = generate(ctx.rawModels);
6
7
  const generatedResolvers = getResolvers(ctx.models);
7
8
  const schema = makeExecutableSchema({
8
9
  typeDefs: document,
9
- resolvers: {
10
- ...generatedResolvers,
11
- ...additionalResolvers,
12
- },
10
+ resolvers: merge(generatedResolvers, additionalResolvers),
13
11
  });
14
12
  const contextValue = {
15
13
  document,
@@ -1 +1 @@
1
- {"version":3,"file":"execute.js","sourceRoot":"","sources":["../../../src/api/execute.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,oBAAoB,EAAE,MAAM,uBAAuB,CAAC;AAE7D,OAAO,EAAsB,MAAM,EAAE,OAAO,IAAI,cAAc,EAAE,KAAK,EAAE,MAAM,SAAS,CAAC;AACvF,OAAO,EAAW,QAAQ,EAAE,GAAG,EAAE,YAAY,EAAE,MAAM,IAAI,CAAC;AAE1D,MAAM,CAAC,MAAM,OAAO,GAAG,KAAK,EAAE,EAC5B,mBAAmB,EACnB,IAAI,EACJ,GAAG,GAAG,EAIqB,EAAE,EAAE;IAC/B,MAAM,QAAQ,GAAG,QAAQ,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC;IAEzC,MAAM,kBAAkB,GAAG,YAAY,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;IAEpD,MAAM,MAAM,GAAG,oBAAoB,CAAC;QAClC,QAAQ,EAAE,QAAQ;QAClB,SAAS,EAAE;YACT,GAAG,kBAAkB;YACrB,GAAG,mBAAmB;SACvB;KACF,CAAC,CAAC;IAEH,MAAM,YAAY,GAAY;QAC5B,QAAQ;QACR,GAAG,GAAG;KACP,CAAC;IAEF,MAAM,MAAM,GAAG,MAAM,cAAc,CAAC;QAClC,MAAM;QACN,QAAQ,EAAE,KAAK,CAAC,IAAI,MAAM,CAAC,IAAI,CAAC,KAAK,EAAE,iBAAiB,CAAC,CAAC;QAC1D,YAAY;QACZ,cAAc,EAAE,IAAI,CAAC,SAAS;QAC9B,aAAa,EAAE,IAAI,CAAC,aAAa;QACjC,aAAa,EAAE,CAAC,MAAM,EAAE,KAAK,EAAE,IAAI,EAAE,IAAwB,EAAE,EAAE;YAC/D,MAAM,IAAI,GAAG,GAAG,CAAC,IAAI,CAAC,UAAU,EAAE,CAAC,CAAC,CAAC;YACrC,MAAM,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC;YACzB,OAAO,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;QACvD,CAAC;KACF,CAAC,CAAC;IAEH,OAAO,MAAM,CAAC;AAChB,CAAC,CAAC"}
1
+ {"version":3,"file":"execute.js","sourceRoot":"","sources":["../../../src/api/execute.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,oBAAoB,EAAE,MAAM,uBAAuB,CAAC;AAE7D,OAAO,EAAsB,MAAM,EAAE,OAAO,IAAI,cAAc,EAAE,KAAK,EAAE,MAAM,SAAS,CAAC;AACvF,OAAO,EAAE,KAAK,EAAE,MAAM,QAAQ,CAAC;AAC/B,OAAO,EAAW,QAAQ,EAAE,GAAG,EAAE,YAAY,EAAE,MAAM,IAAI,CAAC;AAE1D,MAAM,CAAC,MAAM,OAAO,GAAG,KAAK,EAAE,EAC5B,mBAAmB,EACnB,IAAI,EACJ,GAAG,GAAG,EAIqB,EAAE,EAAE;IAC/B,MAAM,QAAQ,GAAG,QAAQ,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC;IAEzC,MAAM,kBAAkB,GAAG,YAAY,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;IAEpD,MAAM,MAAM,GAAG,oBAAoB,CAAC;QAClC,QAAQ,EAAE,QAAQ;QAClB,SAAS,EAAE,KAAK,CAAC,kBAAkB,EAAE,mBAAmB,CAAC;KAC1D,CAAC,CAAC;IAEH,MAAM,YAAY,GAAY;QAC5B,QAAQ;QACR,GAAG,GAAG;KACP,CAAC;IAEF,MAAM,MAAM,GAAG,MAAM,cAAc,CAAC;QAClC,MAAM;QACN,QAAQ,EAAE,KAAK,CAAC,IAAI,MAAM,CAAC,IAAI,CAAC,KAAK,EAAE,iBAAiB,CAAC,CAAC;QAC1D,YAAY;QACZ,cAAc,EAAE,IAAI,CAAC,SAAS;QAC9B,aAAa,EAAE,IAAI,CAAC,aAAa;QACjC,aAAa,EAAE,CAAC,MAAM,EAAE,KAAK,EAAE,IAAI,EAAE,IAAwB,EAAE,EAAE;YAC/D,MAAM,IAAI,GAAG,GAAG,CAAC,IAAI,CAAC,UAAU,EAAE,CAAC,CAAC,CAAC;YACrC,MAAM,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC;YACzB,OAAO,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;QACvD,CAAC;KACF,CAAC,CAAC;IAEH,OAAO,MAAM,CAAC;AAChB,CAAC,CAAC"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@smartive/graphql-magic",
3
- "version": "8.1.1",
3
+ "version": "8.1.3",
4
4
  "description": "",
5
5
  "source": "src/index.ts",
6
6
  "type": "module",
@@ -28,7 +28,7 @@
28
28
  "build": "npm run build:esm && npm run build:cjs && npm run build:bin",
29
29
  "build:esm": "tsc",
30
30
  "build:cjs": "esbuild src/index.ts --bundle --platform=node --outdir=dist/cjs --out-extension:.js=.cjs --format=cjs --packages=external",
31
- "build:bin": "esbuild src/bin/gqm/index.ts --bundle --platform=node --outdir=dist/bin --out-extension:.js=.cjs --format=cjs --packages=external"
31
+ "build:bin": "esbuild src/bin/gqm/gqm.ts --bundle --platform=node --outdir=dist/bin --out-extension:.js=.cjs --format=cjs --packages=external"
32
32
  },
33
33
  "bin": {
34
34
  "gqm": "dist/bin/gqm.cjs"
@@ -1,6 +1,7 @@
1
1
  import { makeExecutableSchema } from '@graphql-tools/schema';
2
2
  import { IResolvers } from '@graphql-tools/utils';
3
3
  import { GraphQLResolveInfo, Source, execute as graphqlExecute, parse } from 'graphql';
4
+ import { merge } from 'lodash';
4
5
  import { Context, generate, get, getResolvers } from '..';
5
6
 
6
7
  export const execute = async ({
@@ -17,10 +18,7 @@ export const execute = async ({
17
18
 
18
19
  const schema = makeExecutableSchema({
19
20
  typeDefs: document,
20
- resolvers: {
21
- ...generatedResolvers,
22
- ...additionalResolvers,
23
- },
21
+ resolvers: merge(generatedResolvers, additionalResolvers),
24
22
  });
25
23
 
26
24
  const contextValue: Context = {
@@ -12,12 +12,12 @@ import {
12
12
  getMigrationDate,
13
13
  printSchemaFromModels,
14
14
  } from '../..';
15
- import { generateGraphqlApiTypes, generateGraphqlClientTypes } from '../gqm/codegen';
16
- import { KNEXFILE_PATH, parseKnexfile } from '../gqm/parse-knexfile';
17
- import { parseModels } from '../gqm/parse-models';
18
- import { readLine } from '../gqm/readline';
19
- import { ensureFileExists, getSetting, getSettings, writeToFile } from '../gqm/settings';
20
- import { KNEXFILE } from '../gqm/templates';
15
+ import { generateGraphqlApiTypes, generateGraphqlClientTypes } from './codegen';
16
+ import { KNEXFILE_PATH, parseKnexfile } from './parse-knexfile';
17
+ import { parseModels } from './parse-models';
18
+ import { readLine } from './readline';
19
+ import { ensureFileExists, getSetting, getSettings, writeToFile } from './settings';
20
+ import { KNEXFILE } from './templates';
21
21
 
22
22
  config({
23
23
  path: '.env',