@eddeee888/gcg-typescript-resolver-files 0.0.6 → 0.1.0
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/README.md +70 -14
- package/package.json +28 -4
- package/src/{run → generateResolverFiles}/addExternalResolverImport.d.ts +2 -2
- package/src/{run → generateResolverFiles}/addExternalResolverImport.js +0 -0
- package/src/generateResolverFiles/addExternalResolverImport.js.map +1 -0
- package/src/generateResolverFiles/addResolverMainFile.d.ts +2 -0
- package/src/{run/addResolversMainFile.js → generateResolverFiles/addResolverMainFile.js} +5 -5
- package/src/generateResolverFiles/addResolverMainFile.js.map +1 -0
- package/src/generateResolverFiles/fixExistingResolvers.d.ts +2 -0
- package/src/{run → generateResolverFiles}/fixExistingResolvers.js +2 -5
- package/src/generateResolverFiles/fixExistingResolvers.js.map +1 -0
- package/src/generateResolverFiles/generateResolverFiles.d.ts +2 -0
- package/src/{run/run.js → generateResolverFiles/generateResolverFiles.js} +10 -15
- package/src/generateResolverFiles/generateResolverFiles.js.map +1 -0
- package/src/{run → generateResolverFiles}/handleGraphQLObjectType.d.ts +1 -1
- package/src/{run → generateResolverFiles}/handleGraphQLObjectType.js +0 -0
- package/src/generateResolverFiles/handleGraphQLObjectType.js.map +1 -0
- package/src/{run → generateResolverFiles}/handleGraphQLRootObjectTypeField.d.ts +1 -1
- package/src/{run → generateResolverFiles}/handleGraphQLRootObjectTypeField.js +1 -1
- package/src/generateResolverFiles/handleGraphQLRootObjectTypeField.js.map +1 -0
- package/src/{run → generateResolverFiles}/handleGraphQLScalarType.d.ts +1 -1
- package/src/{run → generateResolverFiles}/handleGraphQLScalarType.js +0 -0
- package/src/generateResolverFiles/handleGraphQLScalarType.js.map +1 -0
- package/src/{run → generateResolverFiles}/handleGraphQLUninionType.d.ts +1 -1
- package/src/{run → generateResolverFiles}/handleGraphQLUninionType.js +0 -0
- package/src/generateResolverFiles/handleGraphQLUninionType.js.map +1 -0
- package/src/generateResolverFiles/index.d.ts +2 -0
- package/src/generateResolverFiles/index.js +8 -0
- package/src/generateResolverFiles/index.js.map +1 -0
- package/src/{types.d.ts → generateResolverFiles/types.d.ts} +6 -19
- package/src/{types.js → generateResolverFiles/types.js} +0 -0
- package/src/generateResolverFiles/types.js.map +1 -0
- package/src/{run → generateResolverFiles}/visitNamedType.d.ts +3 -2
- package/src/{run → generateResolverFiles}/visitNamedType.js +7 -15
- package/src/generateResolverFiles/visitNamedType.js.map +1 -0
- package/src/getPluginsConfig/getPluginsConfig.d.ts +13 -0
- package/src/getPluginsConfig/getPluginsConfig.js +52 -0
- package/src/getPluginsConfig/getPluginsConfig.js.map +1 -0
- package/src/getPluginsConfig/index.d.ts +1 -0
- package/src/getPluginsConfig/index.js +5 -0
- package/src/getPluginsConfig/index.js.map +1 -0
- package/src/parseSources/index.d.ts +1 -0
- package/src/parseSources/index.js +5 -0
- package/src/parseSources/index.js.map +1 -0
- package/src/parseSources/parseSources.d.ts +10 -0
- package/src/parseSources/parseSources.js +23 -0
- package/src/parseSources/parseSources.js.map +1 -0
- package/src/parseTypeMappers/collectTypeMappersFromSourceFile.d.ts +7 -0
- package/src/parseTypeMappers/collectTypeMappersFromSourceFile.js +72 -0
- package/src/parseTypeMappers/collectTypeMappersFromSourceFile.js.map +1 -0
- package/src/parseTypeMappers/index.d.ts +1 -0
- package/src/parseTypeMappers/index.js +5 -0
- package/src/parseTypeMappers/index.js.map +1 -0
- package/src/parseTypeMappers/parseTypeMappers.d.ts +14 -0
- package/src/parseTypeMappers/parseTypeMappers.js +22 -0
- package/src/parseTypeMappers/parseTypeMappers.js.map +1 -0
- package/src/preset.d.ts +4 -12
- package/src/preset.js +35 -35
- package/src/preset.js.map +1 -1
- package/src/utils/index.d.ts +6 -0
- package/src/utils/index.js +24 -0
- package/src/utils/index.js.map +1 -0
- package/src/utils/isNativeNamedType.d.ts +2 -0
- package/src/utils/isNativeNamedType.js +18 -0
- package/src/utils/isNativeNamedType.js.map +1 -0
- package/src/utils/isRootObjectType.d.ts +2 -0
- package/src/utils/isRootObjectType.js +8 -0
- package/src/utils/isRootObjectType.js.map +1 -0
- package/src/utils/parseLocationForWhitelistedModule.d.ts +9 -0
- package/src/utils/parseLocationForWhitelistedModule.js +24 -0
- package/src/utils/parseLocationForWhitelistedModule.js.map +1 -0
- package/src/utils/printImportLine.d.ts +10 -0
- package/src/utils/printImportLine.js +29 -0
- package/src/utils/printImportLine.js.map +1 -0
- package/src/run/addExternalResolverImport.js.map +0 -1
- package/src/run/addResolversMainFile.d.ts +0 -2
- package/src/run/addResolversMainFile.js.map +0 -1
- package/src/run/checkIfModuleIsWhitelisted.d.ts +0 -7
- package/src/run/checkIfModuleIsWhitelisted.js +0 -16
- package/src/run/checkIfModuleIsWhitelisted.js.map +0 -1
- package/src/run/fixExistingResolvers.d.ts +0 -2
- package/src/run/fixExistingResolvers.js.map +0 -1
- package/src/run/handleGraphQLObjectType.js.map +0 -1
- package/src/run/handleGraphQLRootObjectTypeField.js.map +0 -1
- package/src/run/handleGraphQLScalarType.js.map +0 -1
- package/src/run/handleGraphQLUninionType.js.map +0 -1
- package/src/run/index.d.ts +0 -1
- package/src/run/index.js +0 -6
- package/src/run/index.js.map +0 -1
- package/src/run/run.d.ts +0 -2
- package/src/run/run.js.map +0 -1
- package/src/run/visitNamedType.js.map +0 -1
- package/src/types.js.map +0 -1
- package/src/utils.d.ts +0 -7
- package/src/utils.js +0 -64
- package/src/utils.js.map +0 -1
package/README.md
CHANGED
|
@@ -2,10 +2,11 @@
|
|
|
2
2
|
|
|
3
3
|
This [GraphQL Code Generator](https://www.the-guild.dev/graphql/codegen) plugin creates resolvers given GraphQL schema.
|
|
4
4
|
|
|
5
|
-
This relies on types generated from [@graphql-codegen/typescript-resolvers](https://the-guild.dev/graphql/codegen/plugins/typescript/typescript-resolvers)
|
|
5
|
+
This relies on types generated from [typescript](https://the-guild.dev/graphql/codegen/plugins/typescript/typescript) and [@graphql-codegen/typescript-resolvers](https://the-guild.dev/graphql/codegen/plugins/typescript/typescript-resolvers) plugins.
|
|
6
6
|
|
|
7
7
|
```bash
|
|
8
8
|
yarn add -D @eddeee888/gcg-typescript-resolver-files
|
|
9
|
+
yarn add graphql-scalars
|
|
9
10
|
```
|
|
10
11
|
|
|
11
12
|
## Features
|
|
@@ -14,27 +15,82 @@ yarn add -D @eddeee888/gcg-typescript-resolver-files
|
|
|
14
15
|
- Does _NOT_ overwrite existing resolver logic
|
|
15
16
|
- Detects missing / wrong resolver exports and adds them to resolver files
|
|
16
17
|
- Automatically sets up GraphQL Scalars with types and config from [graphql-scalars](https://github.com/Urigo/graphql-scalars) with ability to opt-out
|
|
18
|
+
- Automatically extracts object type mapper interfaces and types (marked with `Mapper` suffix) from accompanying `.mappers.ts` files in each module. For example, if the schema file is `/path/to/schema.graphql`, the mapper file is `/path/to/schema.mappers.ts`.
|
|
17
19
|
|
|
18
20
|
## Example
|
|
19
21
|
|
|
22
|
+
### Setup
|
|
23
|
+
|
|
24
|
+
```graphql
|
|
25
|
+
# src/graphql/modules/base/schema.graphqls
|
|
26
|
+
type Query
|
|
27
|
+
```
|
|
28
|
+
|
|
29
|
+
```graphql
|
|
30
|
+
# src/graphql/modules/user/schema.graphqls
|
|
31
|
+
extend type Query {
|
|
32
|
+
user(id: ID!): User
|
|
33
|
+
}
|
|
34
|
+
|
|
35
|
+
type User {
|
|
36
|
+
id: ID!
|
|
37
|
+
fullName: String!
|
|
38
|
+
}
|
|
39
|
+
|
|
40
|
+
type Address {
|
|
41
|
+
id: ID!
|
|
42
|
+
address: String!
|
|
43
|
+
}
|
|
44
|
+
```
|
|
45
|
+
|
|
46
|
+
````ts
|
|
47
|
+
// src/graphql/modules/user/schema.mappers.graphqls
|
|
48
|
+
|
|
49
|
+
// Exporting the following Mapper interfaces and types is the equivalent of this codegen config:
|
|
50
|
+
// ```yml
|
|
51
|
+
// mappers:
|
|
52
|
+
// Address: './user/schema.mappers#AddressMapper'
|
|
53
|
+
// User: './user/schema.mappers#UserMapper'
|
|
54
|
+
// ```
|
|
55
|
+
|
|
56
|
+
export { Address as AddressMapper } from 'address-package';
|
|
57
|
+
|
|
58
|
+
export interface UserMapper {
|
|
59
|
+
id: string;
|
|
60
|
+
firstName: string;
|
|
61
|
+
lastName: string;
|
|
62
|
+
}
|
|
63
|
+
````
|
|
64
|
+
|
|
20
65
|
```yml
|
|
66
|
+
# codegen.yml
|
|
21
67
|
schema: '**/*.graphqls'
|
|
22
68
|
generates:
|
|
23
|
-
src/graphql/
|
|
69
|
+
src/graphql/modules:
|
|
24
70
|
preset: '@eddeee888/gcg-typescript-resolver-files'
|
|
25
|
-
presetConfig:
|
|
26
|
-
resolverTypesPath: ./types.generated.ts
|
|
27
71
|
```
|
|
28
72
|
|
|
73
|
+
### Result
|
|
74
|
+
|
|
75
|
+
Running codegen will generate the following files:
|
|
76
|
+
|
|
77
|
+
- `src/graphql/modules/user/resolvers/Query/user.ts`
|
|
78
|
+
- `src/graphql/modules/user/resolvers/User.ts`
|
|
79
|
+
- `src/graphql/modules/user/resolvers/Address.ts`
|
|
80
|
+
- `src/graphql/modules/resolvers.generated.ts`
|
|
81
|
+
- `src/graphql/modules/types.generated.ts`
|
|
82
|
+
|
|
29
83
|
## Config
|
|
30
84
|
|
|
31
|
-
| Name
|
|
32
|
-
|
|
|
33
|
-
| `
|
|
34
|
-
| `
|
|
35
|
-
| `
|
|
36
|
-
| `
|
|
37
|
-
| `whitelistedModules`
|
|
38
|
-
| `blacklistedModules`
|
|
39
|
-
| `externalResolvers`
|
|
40
|
-
| `typesPluginsConfig`
|
|
85
|
+
| Name | Type | Description |
|
|
86
|
+
| --------------------------- | -------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
|
|
87
|
+
| `mode` | `merged` or `modules` | (Default: `modules`) How files are collocated. `modules` detects containing dir of a schema file as "modules", then split resolvers into those modules. `merged` treats `baseOutputDir` as the one and only module and generates resolvers. |
|
|
88
|
+
| `resolverTypesPath` | `string` | (Default: `./types.generated.ts`) Relative path to type file generated by `typescript-resolvers` plugin. |
|
|
89
|
+
| `resolverRelativeTargetDir` | `string` | (Default: `resolvers`) Relative path to target dir. For `config.mode=merged`, files will be generated into `<baseOutputDir>/<resolverRelativeTargetDir>`. For `config.mode=modules`, files will be generated into `<baseOutputDir>/<moduleName>/<resolverRelativeTargetDir>` |
|
|
90
|
+
| `resolverMainFile` | `string` | (Default: `resolvers.generated.ts`) File that puts all generated resolvers together. Relative from `baseOutputDir` |
|
|
91
|
+
| `whitelistedModules` | `Array<string>` | (Only works with `config.mode=modules`) Whitelists modules to generate files and entries in main file. By default all modules are whitelisted. Useful for gradual migrations. |
|
|
92
|
+
| `blacklistedModules` | `Array<string>` | (Only works with `config.mode=modules`) Blacklists modules to avoid generate files and entries in main file. Useful for gradual migrations. |
|
|
93
|
+
| `externalResolvers` | `Record<string, string>` | Map of relative or absolute path (prefixed with `~`) to external or existing resolvers. e.g. `DateTime: ~graphql-scalars#DateTimeResolver`, `Query.me: '~@org/meResolver#default as meResolver'`, `User: 'otherResolvers#User as UserResolver'`. |
|
|
94
|
+
| `typesPluginsConfig` | `(@graphql-codegen/typescript).TypeScriptPluginConfig & (@graphql-codegen/typescript-resolvers).TypeScriptResolversPluginConfig` | Takes [typescript config](https://www.the-guild.dev/graphql/codegen/plugins/typescript/typescript) and [typescript-resolvers config](https://www.the-guild.dev/graphql/codegen/plugins/typescript/typescript-resolvers) to override the defaults |
|
|
95
|
+
| `mappersFileExtension` | `string` | (Default: `.mappers.ts`) The files with this extension provides mappers interfaces and types for the schema files in the same dir. |
|
|
96
|
+
| `mappersSuffix` | `string` | (Default: `Mapper`) Exported interfaces and types with this suffix from `mappersFile` in each module are put into the mappers object of [@graphql-codegen/typescript-resolvers](https://the-guild.dev/graphql/codegen/plugins/typescript/typescript-resolvers) . |
|
package/package.json
CHANGED
|
@@ -1,13 +1,37 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@eddeee888/gcg-typescript-resolver-files",
|
|
3
|
-
"version": "0.0
|
|
3
|
+
"version": "0.1.0",
|
|
4
|
+
"repository": {
|
|
5
|
+
"type": "git",
|
|
6
|
+
"url": "https://github.com/eddeee888/graphql-code-generator-plugins.git",
|
|
7
|
+
"directory": "packages/typescript-resolver-files"
|
|
8
|
+
},
|
|
9
|
+
"homepage": "https://github.com/eddeee888/graphql-code-generator-plugins/blob/master/packages/typescript-resolver-files/README.md",
|
|
10
|
+
"keywords": [
|
|
11
|
+
"plugins",
|
|
12
|
+
"graphql",
|
|
13
|
+
"code",
|
|
14
|
+
"generator",
|
|
15
|
+
"resolvers",
|
|
16
|
+
"types",
|
|
17
|
+
"interfaces",
|
|
18
|
+
"codegen",
|
|
19
|
+
"node",
|
|
20
|
+
"typescript",
|
|
21
|
+
"ts",
|
|
22
|
+
"typings"
|
|
23
|
+
],
|
|
24
|
+
"author": "Eddy Nguyen <ch@eddeee888.me>",
|
|
25
|
+
"license": "MIT",
|
|
26
|
+
"peerDependencies": {
|
|
27
|
+
"graphql": "^15.0.0 || ^16.0.0",
|
|
28
|
+
"graphql-scalars": "^1.20.1"
|
|
29
|
+
},
|
|
4
30
|
"dependencies": {
|
|
5
31
|
"@graphql-codegen/add": "^3.2.1",
|
|
32
|
+
"@graphql-codegen/plugin-helpers": "^2.7.1",
|
|
6
33
|
"@graphql-codegen/typescript": "^2.8.1",
|
|
7
34
|
"@graphql-codegen/typescript-resolvers": "^2.7.5",
|
|
8
|
-
"@graphql-codegen/plugin-helpers": "^2.7.1",
|
|
9
|
-
"graphql": "^16.6.0",
|
|
10
|
-
"graphql-scalars": "^1.20.1",
|
|
11
35
|
"ts-morph": "^16.0.0"
|
|
12
36
|
},
|
|
13
37
|
"publishConfig": {
|
|
@@ -1,7 +1,7 @@
|
|
|
1
|
-
import type {
|
|
1
|
+
import type { GenerateResolverFilesContext } from './types';
|
|
2
2
|
interface AddExternalResolverImportParams {
|
|
3
3
|
normalizedResolverName: string;
|
|
4
4
|
configImportSyntax: string;
|
|
5
5
|
}
|
|
6
|
-
export declare const addExternalResolverImport: (params: AddExternalResolverImportParams, { result }:
|
|
6
|
+
export declare const addExternalResolverImport: (params: AddExternalResolverImportParams, { result }: GenerateResolverFilesContext) => void;
|
|
7
7
|
export {};
|
|
File without changes
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"addExternalResolverImport.js","sourceRoot":"","sources":["../../../../../packages/typescript-resolver-files/src/generateResolverFiles/addExternalResolverImport.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,10 +1,10 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.
|
|
3
|
+
exports.addResolverMainFile = void 0;
|
|
4
4
|
const path = require("path");
|
|
5
5
|
const utils_1 = require("../utils");
|
|
6
|
-
const
|
|
7
|
-
const filename = path.join(baseOutputDir,
|
|
6
|
+
const addResolverMainFile = ({ config: { baseOutputDir, resolverTypesPath, resolverMainFile }, result, }) => {
|
|
7
|
+
const filename = path.join(baseOutputDir, resolverMainFile.split('/').join(path.sep));
|
|
8
8
|
const outputDir = path.dirname(filename);
|
|
9
9
|
const relativePathToResolverTypes = (0, utils_1.relativeModulePath)(outputDir, resolverTypesPath);
|
|
10
10
|
const resolversDetails = Object.entries(result.files).reduce((res, [filepath, file]) => {
|
|
@@ -121,6 +121,6 @@ const addResolversMainFile = ({ config: { baseOutputDir, resolverTypesPath, main
|
|
|
121
121
|
mainImportIdentifier: resolversIdentifier,
|
|
122
122
|
};
|
|
123
123
|
};
|
|
124
|
-
exports.
|
|
124
|
+
exports.addResolverMainFile = addResolverMainFile;
|
|
125
125
|
const printObjectMapping = ({ propertyName, identifierName, }) => `${propertyName}: ${identifierName}`;
|
|
126
|
-
//# sourceMappingURL=
|
|
126
|
+
//# sourceMappingURL=addResolverMainFile.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"addResolverMainFile.js","sourceRoot":"","sources":["../../../../../packages/typescript-resolver-files/src/generateResolverFiles/addResolverMainFile.ts"],"names":[],"mappings":"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"}
|
|
@@ -4,7 +4,7 @@ exports.fixExistingResolvers = void 0;
|
|
|
4
4
|
const fs_1 = require("fs");
|
|
5
5
|
const ts_morph_1 = require("ts-morph");
|
|
6
6
|
const path = require("path");
|
|
7
|
-
const fixExistingResolvers = ({ result }) => {
|
|
7
|
+
const fixExistingResolvers = ({ result, }) => {
|
|
8
8
|
const existingResolverFiles = Object.entries(result.files).reduce((res, [filePath, file]) => {
|
|
9
9
|
if ((0, fs_1.existsSync)(filePath) && file.__filetype === 'resolver') {
|
|
10
10
|
res[filePath] = file;
|
|
@@ -37,10 +37,7 @@ const fixExistingResolvers = ({ result }) => {
|
|
|
37
37
|
}
|
|
38
38
|
}
|
|
39
39
|
});
|
|
40
|
-
|
|
41
|
-
return false;
|
|
42
|
-
}
|
|
43
|
-
return true;
|
|
40
|
+
return hasExpectedIdentifier;
|
|
44
41
|
});
|
|
45
42
|
if (!variableStatementWithExpectedIdentifier) {
|
|
46
43
|
// Did not find variable statement with expected identifier, add it to the end with a warning
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"fixExistingResolvers.js","sourceRoot":"","sources":["../../../../../packages/typescript-resolver-files/src/generateResolverFiles/fixExistingResolvers.ts"],"names":[],"mappings":";;;AAAA,2BAAgC;AAChC,uCAAmC;AACnC,6BAA6B;AAGtB,MAAM,oBAAoB,GAAG,CAAC,EACnC,MAAM,GACuB,EAAQ,EAAE;IACvC,MAAM,qBAAqB,GAAG,MAAM,CAAC,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,MAAM,CAE/D,CAAC,GAAG,EAAE,CAAC,QAAQ,EAAE,IAAI,CAAC,EAAE,EAAE;QAC1B,IAAI,IAAA,eAAU,EAAC,QAAQ,CAAC,IAAI,IAAI,CAAC,UAAU,KAAK,UAAU,EAAE;YAC1D,GAAG,CAAC,QAAQ,CAAC,GAAG,IAAI,CAAC;SACtB;QACD,OAAO,GAAG,CAAC;IACb,CAAC,EAAE,EAAE,CAAC,CAAC;IAEP,MAAM,OAAO,GAAG,IAAI,kBAAO,EAAE,CAAC;IAC9B,OAAO,CAAC,qBAAqB,CAAC,MAAM,CAAC,IAAI,CAAC,qBAAqB,CAAC,CAAC,CAAC;IAClE,MAAM,WAAW,GAAG,OAAO,CAAC,cAAc,EAAE,CAAC;IAC7C,WAAW,CAAC,OAAO,CAAC,CAAC,UAAU,EAAE,EAAE;QACjC,MAAM,sBAAsB,GAAG,IAAI,CAAC,QAAQ,CAC1C,OAAO,CAAC,GAAG,EAAE,EACb,UAAU,CAAC,WAAW,EAAE,CACzB,CAAC;QACF,MAAM,IAAI,GAAG,qBAAqB,CAAC,sBAAsB,CAAC,CAAC;QAC3D,IAAI,CAAC,IAAI,EAAE;YACT,MAAM,IAAI,KAAK,CACb,iCAAiC,sBAAsB,EAAE,CAC1D,CAAC;SACH;QAED,6BAA6B;QAC7B,MAAM;QAEN,4BAA4B;QAC5B,IAAI,+CAA+C,GAAG,KAAK,CAAC;QAC5D,MAAM,uCAAuC,GAC3C,UAAU,CAAC,oBAAoB,CAAC,CAAC,SAAS,EAAE,EAAE;YAC5C,IAAI,qBAAqB,GAAG,KAAK,CAAC;YAClC,SAAS;iBACN,kBAAkB,EAAE;iBACpB,eAAe,EAAE;iBACjB,OAAO,CAAC,CAAC,eAAe,EAAE,EAAE;gBAC3B,IAAI,eAAe,CAAC,OAAO,EAAE,KAAK,IAAI,CAAC,oBAAoB,EAAE;oBAC3D,qBAAqB,GAAG,IAAI,CAAC;oBAC7B,IAAI,SAAS,CAAC,UAAU,EAAE,EAAE;wBAC1B,+CAA+C,GAAG,IAAI,CAAC;qBACxD;iBACF;YACH,CAAC,CAAC,CAAC;YACL,OAAO,qBAAqB,CAAC;QAC/B,CAAC,CAAC,CAAC;QAEL,IAAI,CAAC,uCAAuC,EAAE;YAC5C,6FAA6F;YAC7F,UAAU,CAAC,aAAa,CACtB,0IAA0I,CAC3I,CAAC;YACF,UAAU,CAAC,aAAa,CAAC,IAAI,CAAC,IAAI,CAAC,yBAAyB,CAAC,CAAC;SAC/D;aAAM,IACL,uCAAuC;YACvC,CAAC,+CAA+C,EAChD;YACA,qCAAqC;YACrC,kCAAkC;YAClC,MAAM,4BAA4B,GAAG,OAAO,CAC1C,UAAU,CAAC,uBAAuB,EAAE,CAAC,GAAG,CAAC,IAAI,CAAC,oBAAoB,CAAC,CACpE,CAAC;YACF,IAAI,CAAC,4BAA4B,EAAE;gBACjC,uCAAuC,CAAC,aAAa,CAAC,IAAI,CAAC,CAAC;aAC7D;YACD,iDAAiD;SAClD;QAED,sCAAsC;QACtC,MAAM,CAAC,KAAK,CAAC,sBAAsB,CAAC,mCAC/B,IAAI,KACP,OAAO,EAAE,UAAU,CAAC,OAAO,EAAE,GAC9B,CAAC;IACJ,CAAC,CAAC,CAAC;AACL,CAAC,CAAC;AA5EW,QAAA,oBAAoB,wBA4E/B"}
|
|
@@ -1,24 +1,19 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.
|
|
3
|
+
exports.generateResolverFiles = void 0;
|
|
4
4
|
const graphql_1 = require("graphql");
|
|
5
5
|
const utils_1 = require("../utils");
|
|
6
|
-
const
|
|
6
|
+
const addResolverMainFile_1 = require("./addResolverMainFile");
|
|
7
7
|
const fixExistingResolvers_1 = require("./fixExistingResolvers");
|
|
8
8
|
const handleGraphQLRootObjectTypeField_1 = require("./handleGraphQLRootObjectTypeField");
|
|
9
9
|
const handleGraphQLObjectType_1 = require("./handleGraphQLObjectType");
|
|
10
10
|
const handleGraphQLUninionType_1 = require("./handleGraphQLUninionType");
|
|
11
11
|
const handleGraphQLScalarType_1 = require("./handleGraphQLScalarType");
|
|
12
12
|
const visitNamedType_1 = require("./visitNamedType");
|
|
13
|
-
const
|
|
13
|
+
const generateResolverFiles = (ctx) => {
|
|
14
14
|
Object.entries(ctx.config.schema.getTypeMap()).forEach(([schemaType, namedType]) => {
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
// Ignore certain types:
|
|
18
|
-
// 1. introspection types i.e. with `__` prefixes
|
|
19
|
-
// 2. base scalars e.g. Boolean, Int, etc.
|
|
20
|
-
// 3. Other natives (mostly base scalars) which was not defined in the schema i.e. no `astNode`
|
|
21
|
-
if (isPredefinedScalar || isIntrospection || !namedType.astNode) {
|
|
15
|
+
var _a;
|
|
16
|
+
if ((0, utils_1.isNativeNamedType)(namedType)) {
|
|
22
17
|
return;
|
|
23
18
|
}
|
|
24
19
|
//
|
|
@@ -30,7 +25,7 @@ const run = (ctx) => {
|
|
|
30
25
|
UnionType: handleGraphQLUninionType_1.handleGraphQLUninionType,
|
|
31
26
|
ScalarType: handleGraphQLScalarType_1.handleGraphQLScalarType,
|
|
32
27
|
};
|
|
33
|
-
if ((0,
|
|
28
|
+
if ((0, utils_1.isRootObjectType)(schemaType) && (0, graphql_1.isObjectType)(namedType)) {
|
|
34
29
|
Object.entries(namedType.getFields()).forEach(([fieldName, fieldNode]) => {
|
|
35
30
|
var _a;
|
|
36
31
|
return (0, visitNamedType_1.visitNamedType)({
|
|
@@ -47,14 +42,14 @@ const run = (ctx) => {
|
|
|
47
42
|
namedType,
|
|
48
43
|
resolverName: namedType.name,
|
|
49
44
|
belongsToRootObject: null,
|
|
50
|
-
location: namedType.astNode.loc,
|
|
45
|
+
location: (_a = namedType.astNode) === null || _a === void 0 ? void 0 : _a.loc,
|
|
51
46
|
visitor,
|
|
52
47
|
}, ctx);
|
|
53
48
|
});
|
|
54
49
|
// Check to see which resolver file exists already
|
|
55
50
|
(0, fixExistingResolvers_1.fixExistingResolvers)(ctx);
|
|
56
51
|
// Put all resolvers into a barrel file (or main file)
|
|
57
|
-
(0,
|
|
52
|
+
(0, addResolverMainFile_1.addResolverMainFile)(ctx);
|
|
58
53
|
};
|
|
59
|
-
exports.
|
|
60
|
-
//# sourceMappingURL=
|
|
54
|
+
exports.generateResolverFiles = generateResolverFiles;
|
|
55
|
+
//# sourceMappingURL=generateResolverFiles.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"generateResolverFiles.js","sourceRoot":"","sources":["../../../../../packages/typescript-resolver-files/src/generateResolverFiles/generateResolverFiles.ts"],"names":[],"mappings":";;;AAAA,qCAAuC;AACvC,oCAA+D;AAC/D,+DAA4D;AAC5D,iEAA8D;AAC9D,yFAAsF;AACtF,uEAAoE;AACpE,yEAAsE;AACtE,uEAAoE;AACpE,qDAAwE;AAGjE,MAAM,qBAAqB,GAAG,CACnC,GAAiC,EAC3B,EAAE;IACR,MAAM,CAAC,OAAO,CAAC,GAAG,CAAC,MAAM,CAAC,MAAM,CAAC,UAAU,EAAE,CAAC,CAAC,OAAO,CACpD,CAAC,CAAC,UAAU,EAAE,SAAS,CAAC,EAAE,EAAE;;QAC1B,IAAI,IAAA,yBAAiB,EAAC,SAAS,CAAC,EAAE;YAChC,OAAO;SACR;QAED,EAAE;QACF,oBAAoB;QACpB,EAAE;QACF,MAAM,OAAO,GAAoC;YAC/C,mBAAmB,EAAE,mEAAgC;YACrD,UAAU,EAAE,iDAAuB;YACnC,SAAS,EAAE,mDAAwB;YACnC,UAAU,EAAE,iDAAuB;SACpC,CAAC;QAEF,IAAI,IAAA,wBAAgB,EAAC,UAAU,CAAC,IAAI,IAAA,sBAAY,EAAC,SAAS,CAAC,EAAE;YAC3D,MAAM,CAAC,OAAO,CAAC,SAAS,CAAC,SAAS,EAAE,CAAC,CAAC,OAAO,CAC3C,CAAC,CAAC,SAAS,EAAE,SAAS,CAAC,EAAE,EAAE;;gBACzB,OAAA,IAAA,+BAAc,EACZ;oBACE,SAAS;oBACT,YAAY,EAAE,SAAS;oBACvB,mBAAmB,EAAE,UAAU;oBAC/B,QAAQ,EAAE,MAAA,SAAS,CAAC,OAAO,0CAAE,GAAG;oBAChC,OAAO;iBACR,EACD,GAAG,CACJ,CAAA;aAAA,CACJ,CAAC;YACF,OAAO;SACR;QAED,IAAA,+BAAc,EACZ;YACE,SAAS;YACT,YAAY,EAAE,SAAS,CAAC,IAAI;YAC5B,mBAAmB,EAAE,IAAI;YACzB,QAAQ,EAAE,MAAA,SAAS,CAAC,OAAO,0CAAE,GAAG;YAChC,OAAO;SACR,EACD,GAAG,CACJ,CAAC;IACJ,CAAC,CACF,CAAC;IAEF,kDAAkD;IAClD,IAAA,2CAAoB,EAAC,GAAG,CAAC,CAAC;IAE1B,sDAAsD;IACtD,IAAA,yCAAmB,EAAC,GAAG,CAAC,CAAC;AAC3B,CAAC,CAAC;AAtDW,QAAA,qBAAqB,yBAsDhC"}
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import type { GraphQLTypeHandler } from '
|
|
1
|
+
import type { GraphQLTypeHandler } from './types';
|
|
2
2
|
export declare const handleGraphQLObjectType: GraphQLTypeHandler;
|
|
File without changes
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"handleGraphQLObjectType.js","sourceRoot":"","sources":["../../../../../packages/typescript-resolver-files/src/generateResolverFiles/handleGraphQLObjectType.ts"],"names":[],"mappings":";;;AACA,oCAA2C;AAEpC,MAAM,uBAAuB,GAAuB,CACzD,EAAE,aAAa,EAAE,YAAY,EAAE,sBAAsB,EAAE,iBAAiB,EAAE,EAC1E,EAAE,MAAM,EAAE,EACV,EAAE;IACF,MAAM,yBAAyB,GAAG,gBAAgB,YAAY,KAAK,iBAAiB,CAAC,UAAU,qBAAqB,YAAY,4BAA4B,CAAC;IAE7J,MAAM,CAAC,KAAK,CAAC,aAAa,CAAC,GAAG;QAC5B,UAAU,EAAE,UAAU;QACtB,OAAO,EAAE;MACP,IAAA,uBAAe,EAAC;YAChB,YAAY,EAAE,IAAI;YAClB,MAAM,EAAE,iBAAiB,CAAC,MAAM;YAChC,YAAY,EAAE,CAAC,iBAAiB,CAAC,eAAe,CAAC;SAClD,CAAC;MACA,yBAAyB,EAAE;QAC7B,oBAAoB,EAAE,YAAY;QAClC,IAAI,EAAE;YACJ,mBAAmB,EAAE,IAAI;YACzB,sBAAsB;YACtB,yBAAyB;SAC1B;KACF,CAAC;AACJ,CAAC,CAAC;AAtBW,QAAA,uBAAuB,2BAsBlC"}
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import type { GraphQLTypeHandler } from '
|
|
1
|
+
import type { GraphQLTypeHandler } from './types';
|
|
2
2
|
export declare const handleGraphQLRootObjectTypeField: GraphQLTypeHandler;
|
|
@@ -3,7 +3,7 @@ Object.defineProperty(exports, "__esModule", { value: true });
|
|
|
3
3
|
exports.handleGraphQLRootObjectTypeField = void 0;
|
|
4
4
|
const utils_1 = require("../utils");
|
|
5
5
|
const handleGraphQLRootObjectTypeField = ({ fieldFilePath, resolverName, belongsToRootObject, normalizedResolverName, resolversTypeMeta, }, { result }) => {
|
|
6
|
-
const resolverVariableStatement = `export const ${resolverName}:
|
|
6
|
+
const resolverVariableStatement = `export const ${resolverName}: NonNullable<${resolversTypeMeta.typeString}> = async (_parent, _arg, _ctx) => { /* Implement ${normalizedResolverName} resolver logic here */ };`;
|
|
7
7
|
result.files[fieldFilePath] = {
|
|
8
8
|
__filetype: 'resolver',
|
|
9
9
|
content: `
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"handleGraphQLRootObjectTypeField.js","sourceRoot":"","sources":["../../../../../packages/typescript-resolver-files/src/generateResolverFiles/handleGraphQLRootObjectTypeField.ts"],"names":[],"mappings":";;;AAAA,oCAA2C;AAGpC,MAAM,gCAAgC,GAAuB,CAClE,EACE,aAAa,EACb,YAAY,EACZ,mBAAmB,EACnB,sBAAsB,EACtB,iBAAiB,GAClB,EACD,EAAE,MAAM,EAAE,EACV,EAAE;IACF,MAAM,yBAAyB,GAAG,gBAAgB,YAAY,iBAAiB,iBAAiB,CAAC,UAAU,qDAAqD,sBAAsB,4BAA4B,CAAC;IAEnN,MAAM,CAAC,KAAK,CAAC,aAAa,CAAC,GAAG;QAC5B,UAAU,EAAE,UAAU;QACtB,OAAO,EAAE;UACH,IAAA,uBAAe,EAAC;YAChB,YAAY,EAAE,IAAI;YAClB,MAAM,EAAE,iBAAiB,CAAC,MAAM;YAChC,YAAY,EAAE,CAAC,iBAAiB,CAAC,eAAe,CAAC;SAClD,CAAC;UACA,yBAAyB,EAAE;QACjC,oBAAoB,EAAE,YAAY;QAClC,IAAI,EAAE;YACJ,mBAAmB;YACnB,yBAAyB;YACzB,sBAAsB;SACvB;KACF,CAAC;AACJ,CAAC,CAAC;AA5BW,QAAA,gCAAgC,oCA4B3C"}
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import type { GraphQLTypeHandler } from '
|
|
1
|
+
import type { GraphQLTypeHandler } from './types';
|
|
2
2
|
export declare const handleGraphQLScalarType: GraphQLTypeHandler;
|
|
File without changes
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"handleGraphQLScalarType.js","sourceRoot":"","sources":["../../../../../packages/typescript-resolver-files/src/generateResolverFiles/handleGraphQLScalarType.ts"],"names":[],"mappings":";;;AAAA,oCAA2C;AAG3C,MAAM,iBAAiB,GAAG,mBAAmB,CAAC;AAEvC,MAAM,uBAAuB,GAAuB,CACzD,EAAE,aAAa,EAAE,YAAY,EAAE,sBAAsB,EAAE,EACvD,EAAE,MAAM,EAAE,EACV,EAAE;IACF,MAAM,yBAAyB,GAAG,gBAAgB,YAAY,KAAK,iBAAiB,qBAAqB,YAAY,0BAA0B,CAAC;IAEhJ,MAAM,CAAC,KAAK,CAAC,aAAa,CAAC,GAAG;QAC5B,UAAU,EAAE,UAAU;QACtB,OAAO,EAAE;MACP,IAAA,uBAAe,EAAC;YAChB,YAAY,EAAE,IAAI;YAClB,MAAM,EAAE,SAAS;YACjB,YAAY,EAAE,CAAC,iBAAiB,CAAC;SAClC,CAAC;MACA,yBAAyB,EAAE;QAC7B,oBAAoB,EAAE,YAAY;QAClC,IAAI,EAAE;YACJ,mBAAmB,EAAE,IAAI;YACzB,sBAAsB;YACtB,yBAAyB;SAC1B;KACF,CAAC;AACJ,CAAC,CAAC;AAtBW,QAAA,uBAAuB,2BAsBlC"}
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import type { GraphQLTypeHandler } from '
|
|
1
|
+
import type { GraphQLTypeHandler } from './types';
|
|
2
2
|
export declare const handleGraphQLUninionType: GraphQLTypeHandler;
|
|
File without changes
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"handleGraphQLUninionType.js","sourceRoot":"","sources":["../../../../../packages/typescript-resolver-files/src/generateResolverFiles/handleGraphQLUninionType.ts"],"names":[],"mappings":";;;AAAA,oCAA2C;AAGpC,MAAM,wBAAwB,GAAuB,CAC1D,EAAE,aAAa,EAAE,YAAY,EAAE,sBAAsB,EAAE,iBAAiB,EAAE,EAC1E,EAAE,MAAM,EAAE,EACV,EAAE;IACF,MAAM,yBAAyB,GAAG,gBAAgB,YAAY,KAAK,iBAAiB,CAAC,UAAU,sDAAsD,CAAC;IAEtJ,MAAM,CAAC,KAAK,CAAC,aAAa,CAAC,GAAG;QAC5B,UAAU,EAAE,UAAU;QACtB,OAAO,EAAE;MACP,IAAA,uBAAe,EAAC;YAChB,YAAY,EAAE,IAAI;YAClB,MAAM,EAAE,iBAAiB,CAAC,MAAM;YAChC,YAAY,EAAE,CAAC,iBAAiB,CAAC,eAAe,CAAC;SAClD,CAAC;MACA,yBAAyB,EAAE;QAC7B,oBAAoB,EAAE,YAAY;QAClC,IAAI,EAAE;YACJ,mBAAmB,EAAE,IAAI;YACzB,sBAAsB;YACtB,yBAAyB;SAC1B;KACF,CAAC;AACJ,CAAC,CAAC;AAtBW,QAAA,wBAAwB,4BAsBnC"}
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.generateResolverFiles = void 0;
|
|
4
|
+
const tslib_1 = require("tslib");
|
|
5
|
+
var generateResolverFiles_1 = require("./generateResolverFiles");
|
|
6
|
+
Object.defineProperty(exports, "generateResolverFiles", { enumerable: true, get: function () { return generateResolverFiles_1.generateResolverFiles; } });
|
|
7
|
+
tslib_1.__exportStar(require("./types"), exports);
|
|
8
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../packages/typescript-resolver-files/src/generateResolverFiles/index.ts"],"names":[],"mappings":";;;;AAAA,iEAAgE;AAAvD,8HAAA,qBAAqB,OAAA;AAC9B,kDAAwB"}
|
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
import type { GraphQLSchema } from 'graphql';
|
|
2
|
-
import type {
|
|
2
|
+
import type { SourcesMap } from '../parseSources';
|
|
3
|
+
import type { ImportLineMeta, RootObjectType } from '../utils';
|
|
3
4
|
interface BaseVirtualFile {
|
|
4
5
|
__filetype: string;
|
|
5
6
|
content: string;
|
|
@@ -16,27 +17,14 @@ export interface ResolverFile extends BaseVirtualFile {
|
|
|
16
17
|
normalizedResolverName: string;
|
|
17
18
|
};
|
|
18
19
|
}
|
|
19
|
-
export
|
|
20
|
-
source: Source;
|
|
21
|
-
moduleName: string;
|
|
22
|
-
}>;
|
|
23
|
-
export interface ImportLineMeta {
|
|
24
|
-
isTypeImport: boolean;
|
|
25
|
-
module: string;
|
|
26
|
-
namedImports: (string | {
|
|
27
|
-
propertyName: string;
|
|
28
|
-
identifierName: string;
|
|
29
|
-
})[];
|
|
30
|
-
defaultImport?: string;
|
|
31
|
-
}
|
|
32
|
-
export interface RunContext {
|
|
20
|
+
export interface GenerateResolverFilesContext {
|
|
33
21
|
config: {
|
|
34
22
|
schema: GraphQLSchema;
|
|
35
23
|
sourcesMap: SourcesMap;
|
|
36
24
|
baseOutputDir: string;
|
|
37
25
|
resolverTypesPath: string;
|
|
38
|
-
|
|
39
|
-
|
|
26
|
+
resolverRelativeTargetDir: string;
|
|
27
|
+
resolverMainFile: string;
|
|
40
28
|
mode: 'merged' | 'modules';
|
|
41
29
|
whitelistedModules: string[];
|
|
42
30
|
blacklistedModules: string[];
|
|
@@ -53,7 +41,6 @@ export interface RunContext {
|
|
|
53
41
|
}>;
|
|
54
42
|
};
|
|
55
43
|
}
|
|
56
|
-
export declare type RootObjectType = 'Query' | 'Mutation' | 'Subscription';
|
|
57
44
|
export interface GraphQLTypeHandlerParams {
|
|
58
45
|
fieldFilePath: string;
|
|
59
46
|
resolverName: string;
|
|
@@ -65,5 +52,5 @@ export interface GraphQLTypeHandlerParams {
|
|
|
65
52
|
typeString: `${string}Resolvers` | `${RootObjectType}Resolvers['${string}']`;
|
|
66
53
|
};
|
|
67
54
|
}
|
|
68
|
-
export declare type GraphQLTypeHandler = (params: GraphQLTypeHandlerParams, ctx:
|
|
55
|
+
export declare type GraphQLTypeHandler = (params: GraphQLTypeHandlerParams, ctx: GenerateResolverFilesContext) => void;
|
|
69
56
|
export {};
|
|
File without changes
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"types.js","sourceRoot":"","sources":["../../../../../packages/typescript-resolver-files/src/generateResolverFiles/types.ts"],"names":[],"mappings":""}
|
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
import { GraphQLNamedType, Location } from 'graphql';
|
|
2
|
-
import {
|
|
2
|
+
import { RootObjectType } from '../utils';
|
|
3
|
+
import { GraphQLTypeHandler, GenerateResolverFilesContext } from './types';
|
|
3
4
|
export interface VisitNamedTypeParams {
|
|
4
5
|
namedType: GraphQLNamedType;
|
|
5
6
|
resolverName: string;
|
|
@@ -12,4 +13,4 @@ export interface VisitNamedTypeParams {
|
|
|
12
13
|
};
|
|
13
14
|
location?: Location;
|
|
14
15
|
}
|
|
15
|
-
export declare const visitNamedType: ({ namedType, resolverName, belongsToRootObject, location, visitor, }: VisitNamedTypeParams, ctx:
|
|
16
|
+
export declare const visitNamedType: ({ namedType, resolverName, belongsToRootObject, location, visitor, }: VisitNamedTypeParams, ctx: GenerateResolverFilesContext) => void;
|
|
@@ -5,7 +5,6 @@ const path = require("path");
|
|
|
5
5
|
const graphql_1 = require("graphql");
|
|
6
6
|
const utils_1 = require("../utils");
|
|
7
7
|
const addExternalResolverImport_1 = require("./addExternalResolverImport");
|
|
8
|
-
const checkIfModuleIsWhitelisted_1 = require("./checkIfModuleIsWhitelisted");
|
|
9
8
|
const visitNamedType = ({ namedType, resolverName, belongsToRootObject, location, visitor, }, ctx) => {
|
|
10
9
|
const normalizedResolverName = normalizeResolverName(resolverName, belongsToRootObject);
|
|
11
10
|
const externalResolverImportSyntax = ctx.config.externalResolvers[normalizedResolverName];
|
|
@@ -41,30 +40,23 @@ exports.visitNamedType = visitNamedType;
|
|
|
41
40
|
* Parse location to see which module it belongs to.
|
|
42
41
|
* Also check against whitelisted and blacklisted to see if need to generate file.
|
|
43
42
|
*/
|
|
44
|
-
const parseLocationForOutputDir = (nestedDirs, { config: { mode, sourcesMap, whitelistedModules, blacklistedModules, baseOutputDir,
|
|
45
|
-
if (!location) {
|
|
46
|
-
throw new Error('Location is invalid');
|
|
47
|
-
}
|
|
43
|
+
const parseLocationForOutputDir = (nestedDirs, { config: { mode, sourcesMap, whitelistedModules, blacklistedModules, baseOutputDir, resolverRelativeTargetDir, }, }, location) => {
|
|
48
44
|
// If mode is "merged", there's only one module:
|
|
49
45
|
// - always generate a.k.a it's always whitelisted
|
|
50
46
|
// - put them together at degsinated relativeTargetDir
|
|
51
47
|
if (mode === 'merged') {
|
|
52
|
-
return path.join(baseOutputDir,
|
|
48
|
+
return path.join(baseOutputDir, resolverRelativeTargetDir, ...nestedDirs);
|
|
53
49
|
}
|
|
54
50
|
// 2. mode is "modules", each module is the folder containing the schema files
|
|
55
51
|
// This means one or multiple schema files can add up to one module
|
|
56
|
-
const
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
throw new Error(`Unable to find ${sourceFilename} in sourcesMap`);
|
|
60
|
-
}
|
|
61
|
-
const isWhitelistedModule = (0, checkIfModuleIsWhitelisted_1.checkIfModuleIsWhitelisted)({
|
|
62
|
-
moduleName: sourceFile.moduleName,
|
|
52
|
+
const parsedSource = (0, utils_1.parseLocationForWhitelistedModule)({
|
|
53
|
+
location,
|
|
54
|
+
sourcesMap,
|
|
63
55
|
whitelistedModules,
|
|
64
56
|
blacklistedModules,
|
|
65
57
|
});
|
|
66
|
-
return
|
|
67
|
-
? path.join(baseOutputDir,
|
|
58
|
+
return parsedSource
|
|
59
|
+
? path.join(baseOutputDir, parsedSource.moduleName, resolverRelativeTargetDir, ...nestedDirs)
|
|
68
60
|
: undefined;
|
|
69
61
|
};
|
|
70
62
|
const validateAndPrepareForGraphQLTypeHandler = ({ resolverName, normalizedResolverName, outputDir, belongsToRootObject, }, { config, result }) => {
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"visitNamedType.js","sourceRoot":"","sources":["../../../../../packages/typescript-resolver-files/src/generateResolverFiles/visitNamedType.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
import { GraphQLSchema } from 'graphql';
|
|
2
|
+
import type { SourcesMap } from '../parseSources';
|
|
3
|
+
import type { TypeMappersMap } from '../parseTypeMappers';
|
|
4
|
+
interface GetPluginsConfigParams {
|
|
5
|
+
schemaAst: GraphQLSchema;
|
|
6
|
+
sourcesMap: SourcesMap;
|
|
7
|
+
typeMappersMap: TypeMappersMap;
|
|
8
|
+
whitelistedModules: string[];
|
|
9
|
+
blacklistedModules: string[];
|
|
10
|
+
}
|
|
11
|
+
declare type GetPluginsConfigResult = Record<'defaultScalarTypesMap' | 'defaultScalarExternalResolvers' | 'defaultTypeMappers', Record<string, string>>;
|
|
12
|
+
export declare const getPluginsConfig: ({ schemaAst, sourcesMap, typeMappersMap, whitelistedModules, blacklistedModules, }: GetPluginsConfigParams) => GetPluginsConfigResult;
|
|
13
|
+
export {};
|
|
@@ -0,0 +1,52 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.getPluginsConfig = void 0;
|
|
4
|
+
const graphql_1 = require("graphql");
|
|
5
|
+
const graphql_scalars_1 = require("graphql-scalars");
|
|
6
|
+
const utils_1 = require("../utils");
|
|
7
|
+
const getPluginsConfig = ({ schemaAst, sourcesMap, typeMappersMap, whitelistedModules, blacklistedModules, }) => {
|
|
8
|
+
return Object.entries(schemaAst.getTypeMap()).reduce((res, [schemaType, namedType]) => {
|
|
9
|
+
var _a;
|
|
10
|
+
if ((0, utils_1.isNativeNamedType)(namedType)) {
|
|
11
|
+
return res;
|
|
12
|
+
}
|
|
13
|
+
const parsedSource = (0, utils_1.parseLocationForWhitelistedModule)({
|
|
14
|
+
location: (_a = namedType.astNode) === null || _a === void 0 ? void 0 : _a.loc,
|
|
15
|
+
sourcesMap,
|
|
16
|
+
whitelistedModules,
|
|
17
|
+
blacklistedModules,
|
|
18
|
+
});
|
|
19
|
+
if (!parsedSource) {
|
|
20
|
+
return res;
|
|
21
|
+
}
|
|
22
|
+
if ((0, graphql_1.isScalarType)(namedType)) {
|
|
23
|
+
handleScalarType(schemaType, res);
|
|
24
|
+
}
|
|
25
|
+
if (!(0, utils_1.isRootObjectType)(schemaType) && (0, graphql_1.isObjectType)(namedType)) {
|
|
26
|
+
const typeMapperDetails = typeMappersMap[schemaType];
|
|
27
|
+
if (typeMapperDetails) {
|
|
28
|
+
res.defaultTypeMappers[typeMapperDetails.schemaType] =
|
|
29
|
+
typeMapperDetails.configImportPath;
|
|
30
|
+
}
|
|
31
|
+
}
|
|
32
|
+
return res;
|
|
33
|
+
}, {
|
|
34
|
+
defaultScalarTypesMap: {},
|
|
35
|
+
defaultScalarExternalResolvers: {},
|
|
36
|
+
defaultTypeMappers: {},
|
|
37
|
+
});
|
|
38
|
+
};
|
|
39
|
+
exports.getPluginsConfig = getPluginsConfig;
|
|
40
|
+
const handleScalarType = (schemaType, result) => {
|
|
41
|
+
const scalarResolver = graphql_scalars_1.resolvers[schemaType];
|
|
42
|
+
if (!scalarResolver) {
|
|
43
|
+
return;
|
|
44
|
+
}
|
|
45
|
+
if (scalarResolver.extensions.codegenScalarType &&
|
|
46
|
+
typeof scalarResolver.extensions.codegenScalarType === 'string') {
|
|
47
|
+
result.defaultScalarTypesMap[schemaType] =
|
|
48
|
+
scalarResolver.extensions.codegenScalarType;
|
|
49
|
+
}
|
|
50
|
+
result.defaultScalarExternalResolvers[schemaType] = `~graphql-scalars#${scalarResolver.name}Resolver`;
|
|
51
|
+
};
|
|
52
|
+
//# sourceMappingURL=getPluginsConfig.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"getPluginsConfig.js","sourceRoot":"","sources":["../../../../../packages/typescript-resolver-files/src/getPluginsConfig/getPluginsConfig.ts"],"names":[],"mappings":";;;AAAA,qCAAoE;AACpE,qDAA+D;AAG/D,oCAIkB;AAiBX,MAAM,gBAAgB,GAAG,CAAC,EAC/B,SAAS,EACT,UAAU,EACV,cAAc,EACd,kBAAkB,EAClB,kBAAkB,GACK,EAA0B,EAAE;IACnD,OAAO,MAAM,CAAC,OAAO,CAAC,SAAS,CAAC,UAAU,EAAE,CAAC,CAAC,MAAM,CAClD,CAAC,GAAG,EAAE,CAAC,UAAU,EAAE,SAAS,CAAC,EAAE,EAAE;;QAC/B,IAAI,IAAA,yBAAiB,EAAC,SAAS,CAAC,EAAE;YAChC,OAAO,GAAG,CAAC;SACZ;QAED,MAAM,YAAY,GAAG,IAAA,yCAAiC,EAAC;YACrD,QAAQ,EAAE,MAAA,SAAS,CAAC,OAAO,0CAAE,GAAG;YAChC,UAAU;YACV,kBAAkB;YAClB,kBAAkB;SACnB,CAAC,CAAC;QACH,IAAI,CAAC,YAAY,EAAE;YACjB,OAAO,GAAG,CAAC;SACZ;QAED,IAAI,IAAA,sBAAY,EAAC,SAAS,CAAC,EAAE;YAC3B,gBAAgB,CAAC,UAAU,EAAE,GAAG,CAAC,CAAC;SACnC;QAED,IAAI,CAAC,IAAA,wBAAgB,EAAC,UAAU,CAAC,IAAI,IAAA,sBAAY,EAAC,SAAS,CAAC,EAAE;YAC5D,MAAM,iBAAiB,GAAG,cAAc,CAAC,UAAU,CAAC,CAAC;YACrD,IAAI,iBAAiB,EAAE;gBACrB,GAAG,CAAC,kBAAkB,CAAC,iBAAiB,CAAC,UAAU,CAAC;oBAClD,iBAAiB,CAAC,gBAAgB,CAAC;aACtC;SACF;QAED,OAAO,GAAG,CAAC;IACb,CAAC,EACD;QACE,qBAAqB,EAAE,EAAE;QACzB,8BAA8B,EAAE,EAAE;QAClC,kBAAkB,EAAE,EAAE;KACvB,CACF,CAAC;AACJ,CAAC,CAAC;AA3CW,QAAA,gBAAgB,oBA2C3B;AAEF,MAAM,gBAAgB,GAAG,CACvB,UAAkB,EAClB,MAA8B,EACxB,EAAE;IACR,MAAM,cAAc,GAAG,2BAAe,CAAC,UAAU,CAAC,CAAC;IACnD,IAAI,CAAC,cAAc,EAAE;QACnB,OAAO;KACR;IAED,IACE,cAAc,CAAC,UAAU,CAAC,iBAAiB;QAC3C,OAAO,cAAc,CAAC,UAAU,CAAC,iBAAiB,KAAK,QAAQ,EAC/D;QACA,MAAM,CAAC,qBAAqB,CAAC,UAAU,CAAC;YACtC,cAAc,CAAC,UAAU,CAAC,iBAAiB,CAAC;KAC/C;IAED,MAAM,CAAC,8BAA8B,CACnC,UAAU,CACX,GAAG,oBAAoB,cAAc,CAAC,IAAI,UAAU,CAAC;AACxD,CAAC,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export * from './getPluginsConfig';
|