@graphql-mesh/transform-replace-field 1.0.0-alpha-3fc47d119.0 → 1.0.0-alpha-20230420181317-a95037648

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.
@@ -1,12 +1,11 @@
1
- 'use strict';
2
-
3
- const graphql = require('graphql');
4
- const utils = require('@graphql-mesh/utils');
5
- const codeFileLoader = require('@graphql-tools/code-file-loader');
6
- const graphqlFileLoader = require('@graphql-tools/graphql-file-loader');
7
- const load = require('@graphql-tools/load');
8
- const utils$1 = require('@graphql-tools/utils');
9
-
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ const graphql_1 = require("graphql");
4
+ const utils_1 = require("@graphql-mesh/utils");
5
+ const code_file_loader_1 = require("@graphql-tools/code-file-loader");
6
+ const graphql_file_loader_1 = require("@graphql-tools/graphql-file-loader");
7
+ const load_1 = require("@graphql-tools/load");
8
+ const utils_2 = require("@graphql-tools/utils");
10
9
  // Execute original field resolver and return single property to be hoisted from rsesolver reponse
11
10
  const defaultHoistFieldComposer = (next, targetFieldName) => async (root, args, context, info) => {
12
11
  const rawResult = await next(root, args, context, info);
@@ -23,7 +22,7 @@ class ReplaceFieldTransform {
23
22
  for (const replacement of config.replacements) {
24
23
  const { from: { type: fromTypeName, field: fromFieldName }, to: toConfig, scope, composer, name, } = replacement;
25
24
  const fieldKey = `${fromTypeName}.${fromFieldName}`;
26
- const composerFn$ = utils.loadFromModuleExportExpression(composer, {
25
+ const composerFn$ = (0, utils_1.loadFromModuleExportExpression)(composer, {
27
26
  cwd: this.baseDir,
28
27
  defaultExportName: 'default',
29
28
  importFn: this.importFn,
@@ -31,20 +30,24 @@ class ReplaceFieldTransform {
31
30
  this.replacementsMap.set(fieldKey, {
32
31
  ...toConfig,
33
32
  scope,
34
- composer: (fn) => (...args) => composerFn$.then(composerFn => (composerFn ? composerFn(fn) : fn)).then(fn => fn(...args)),
33
+ composer: (fn) => (...args) => composerFn$
34
+ .then(composerFn => (composerFn ? composerFn(fn) : fn))
35
+ .then(fn => fn(...args)),
35
36
  name,
36
37
  });
37
38
  }
38
39
  }
39
40
  transformSchema(schema) {
40
41
  const additionalTypeDefs = this.typeDefs &&
41
- load.loadTypedefsSync(this.typeDefs, {
42
+ (0, load_1.loadTypedefsSync)(this.typeDefs, {
42
43
  cwd: this.baseDir,
43
- loaders: [new codeFileLoader.CodeFileLoader(), new graphqlFileLoader.GraphQLFileLoader()],
44
+ loaders: [new code_file_loader_1.CodeFileLoader(), new graphql_file_loader_1.GraphQLFileLoader()],
44
45
  });
45
- const baseSchema = additionalTypeDefs ? graphql.extendSchema(schema, additionalTypeDefs[0].document) : schema;
46
- const transformedSchema = utils$1.mapSchema(baseSchema, {
47
- [utils$1.MapperKind.COMPOSITE_FIELD]: (fieldConfig, currentFieldName, typeName) => {
46
+ const baseSchema = additionalTypeDefs
47
+ ? (0, graphql_1.extendSchema)(schema, additionalTypeDefs[0].document)
48
+ : schema;
49
+ const transformedSchema = (0, utils_2.mapSchema)(baseSchema, {
50
+ [utils_2.MapperKind.COMPOSITE_FIELD]: (fieldConfig, currentFieldName, typeName) => {
48
51
  const fieldKey = `${typeName}.${currentFieldName}`;
49
52
  const newFieldConfig = this.replacementsMap.get(fieldKey);
50
53
  if (!newFieldConfig) {
@@ -52,7 +55,7 @@ class ReplaceFieldTransform {
52
55
  }
53
56
  const fieldName = newFieldConfig.name || currentFieldName;
54
57
  const targetFieldName = newFieldConfig.field;
55
- const targetFieldConfig = utils$1.selectObjectFields(baseSchema, newFieldConfig.type, fieldName => fieldName === targetFieldName)[targetFieldName];
58
+ const targetFieldConfig = (0, utils_2.selectObjectFields)(baseSchema, newFieldConfig.type, fieldName => fieldName === targetFieldName)[targetFieldName];
56
59
  if (newFieldConfig.scope === 'config') {
57
60
  const targetResolver = targetFieldConfig.resolve;
58
61
  targetFieldConfig.resolve = newFieldConfig.composer(targetResolver);
@@ -66,10 +69,10 @@ class ReplaceFieldTransform {
66
69
  fieldConfig.resolve = source => source[currentFieldName];
67
70
  if (newFieldConfig.scope === 'hoistValue') {
68
71
  // implement value hoisting by wrapping a default composer that hoists the value from resolver result
69
- fieldConfig.resolve = defaultHoistFieldComposer(fieldConfig.resolve || graphql.defaultFieldResolver, targetFieldName);
72
+ fieldConfig.resolve = defaultHoistFieldComposer(fieldConfig.resolve || graphql_1.defaultFieldResolver, targetFieldName);
70
73
  }
71
74
  // wrap user-defined composer to current field resolver or, if not preset, defaultFieldResolver
72
- fieldConfig.resolve = newFieldConfig.composer(fieldConfig.resolve || graphql.defaultFieldResolver);
75
+ fieldConfig.resolve = newFieldConfig.composer(fieldConfig.resolve || graphql_1.defaultFieldResolver);
73
76
  // avoid re-iterating over replacements that have already been applied
74
77
  this.replacementsMap.delete(fieldKey);
75
78
  return [fieldName, fieldConfig];
@@ -78,5 +81,4 @@ class ReplaceFieldTransform {
78
81
  return transformedSchema;
79
82
  }
80
83
  }
81
-
82
- module.exports = ReplaceFieldTransform;
84
+ exports.default = ReplaceFieldTransform;
@@ -0,0 +1 @@
1
+ {"type":"commonjs"}
@@ -1,16 +1,15 @@
1
- import { extendSchema, defaultFieldResolver } from 'graphql';
1
+ import { defaultFieldResolver, extendSchema, } from 'graphql';
2
2
  import { loadFromModuleExportExpression } from '@graphql-mesh/utils';
3
3
  import { CodeFileLoader } from '@graphql-tools/code-file-loader';
4
4
  import { GraphQLFileLoader } from '@graphql-tools/graphql-file-loader';
5
5
  import { loadTypedefsSync } from '@graphql-tools/load';
6
- import { mapSchema, MapperKind, selectObjectFields } from '@graphql-tools/utils';
7
-
6
+ import { MapperKind, mapSchema, selectObjectFields } from '@graphql-tools/utils';
8
7
  // Execute original field resolver and return single property to be hoisted from rsesolver reponse
9
8
  const defaultHoistFieldComposer = (next, targetFieldName) => async (root, args, context, info) => {
10
9
  const rawResult = await next(root, args, context, info);
11
10
  return rawResult && rawResult[targetFieldName];
12
11
  };
13
- class ReplaceFieldTransform {
12
+ export default class ReplaceFieldTransform {
14
13
  constructor(options) {
15
14
  this.noWrap = true;
16
15
  const { baseDir, config, importFn } = options;
@@ -29,7 +28,9 @@ class ReplaceFieldTransform {
29
28
  this.replacementsMap.set(fieldKey, {
30
29
  ...toConfig,
31
30
  scope,
32
- composer: (fn) => (...args) => composerFn$.then(composerFn => (composerFn ? composerFn(fn) : fn)).then(fn => fn(...args)),
31
+ composer: (fn) => (...args) => composerFn$
32
+ .then(composerFn => (composerFn ? composerFn(fn) : fn))
33
+ .then(fn => fn(...args)),
33
34
  name,
34
35
  });
35
36
  }
@@ -40,7 +41,9 @@ class ReplaceFieldTransform {
40
41
  cwd: this.baseDir,
41
42
  loaders: [new CodeFileLoader(), new GraphQLFileLoader()],
42
43
  });
43
- const baseSchema = additionalTypeDefs ? extendSchema(schema, additionalTypeDefs[0].document) : schema;
44
+ const baseSchema = additionalTypeDefs
45
+ ? extendSchema(schema, additionalTypeDefs[0].document)
46
+ : schema;
44
47
  const transformedSchema = mapSchema(baseSchema, {
45
48
  [MapperKind.COMPOSITE_FIELD]: (fieldConfig, currentFieldName, typeName) => {
46
49
  const fieldKey = `${typeName}.${currentFieldName}`;
@@ -76,5 +79,3 @@ class ReplaceFieldTransform {
76
79
  return transformedSchema;
77
80
  }
78
81
  }
79
-
80
- export default ReplaceFieldTransform;
package/package.json CHANGED
@@ -1,18 +1,18 @@
1
1
  {
2
2
  "name": "@graphql-mesh/transform-replace-field",
3
- "version": "1.0.0-alpha-3fc47d119.0",
3
+ "version": "1.0.0-alpha-20230420181317-a95037648",
4
4
  "sideEffects": false,
5
5
  "peerDependencies": {
6
- "@graphql-mesh/types": "0.79.0-alpha-3fc47d119.0",
7
- "@graphql-mesh/utils": "1.0.0-alpha-3fc47d119.0",
8
- "graphql": "*"
6
+ "@graphql-mesh/types": "1.0.0-alpha-20230420181317-a95037648",
7
+ "@graphql-mesh/utils": "1.0.0-alpha-20230420181317-a95037648",
8
+ "@graphql-tools/utils": "^9.2.1",
9
+ "graphql": "*",
10
+ "tslib": "^2.4.0"
9
11
  },
10
12
  "dependencies": {
11
- "@graphql-tools/code-file-loader": "7.3.0",
12
- "@graphql-tools/graphql-file-loader": "7.4.0",
13
- "@graphql-tools/load": "7.7.0",
14
- "@graphql-tools/utils": "8.8.0",
15
- "tslib": "^2.4.0"
13
+ "@graphql-tools/code-file-loader": "7.3.22",
14
+ "@graphql-tools/graphql-file-loader": "7.5.17",
15
+ "@graphql-tools/load": "7.8.14"
16
16
  },
17
17
  "repository": {
18
18
  "type": "git",
@@ -20,21 +20,28 @@
20
20
  "directory": "packages/transforms/replace-field"
21
21
  },
22
22
  "license": "MIT",
23
- "main": "index.js",
24
- "module": "index.mjs",
25
- "typings": "index.d.ts",
23
+ "main": "cjs/index.js",
24
+ "module": "esm/index.js",
25
+ "typings": "typings/index.d.ts",
26
26
  "typescript": {
27
- "definition": "index.d.ts"
27
+ "definition": "typings/index.d.ts"
28
28
  },
29
+ "type": "module",
29
30
  "exports": {
30
31
  ".": {
31
- "require": "./index.js",
32
- "import": "./index.mjs"
33
- },
34
- "./*": {
35
- "require": "./*.js",
36
- "import": "./*.mjs"
32
+ "require": {
33
+ "types": "./typings/index.d.cts",
34
+ "default": "./cjs/index.js"
35
+ },
36
+ "import": {
37
+ "types": "./typings/index.d.ts",
38
+ "default": "./esm/index.js"
39
+ },
40
+ "default": {
41
+ "types": "./typings/index.d.ts",
42
+ "default": "./esm/index.js"
43
+ }
37
44
  },
38
45
  "./package.json": "./package.json"
39
46
  }
40
- }
47
+ }
@@ -0,0 +1,11 @@
1
+ import { GraphQLSchema } from 'graphql';
2
+ import { MeshTransform, MeshTransformOptions, YamlConfig } from '@graphql-mesh/types';
3
+ export default class ReplaceFieldTransform implements MeshTransform {
4
+ noWrap: boolean;
5
+ private baseDir;
6
+ private typeDefs;
7
+ private replacementsMap;
8
+ private importFn;
9
+ constructor(options: MeshTransformOptions<YamlConfig.ReplaceFieldTransformConfig>);
10
+ transformSchema(schema: GraphQLSchema): GraphQLSchema;
11
+ }
File without changes