@eddeee888/gcg-typescript-resolver-files 0.0.5 → 0.0.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.
- package/README.md +2 -1
- package/package.json +23 -1
- package/src/preset.d.ts +2 -0
- package/src/preset.js +12 -2
- package/src/preset.js.map +1 -1
- package/src/run/checkIfModuleIsWhitelisted.d.ts +7 -0
- package/src/run/checkIfModuleIsWhitelisted.js +16 -0
- package/src/run/checkIfModuleIsWhitelisted.js.map +1 -0
- package/src/run/handleGraphQLRootObjectTypeField.js +1 -1
- package/src/run/handleGraphQLRootObjectTypeField.js.map +1 -1
- package/src/run/visitNamedType.js +13 -8
- package/src/run/visitNamedType.js.map +1 -1
- package/src/types.d.ts +1 -0
package/README.md
CHANGED
|
@@ -34,6 +34,7 @@ generates:
|
|
|
34
34
|
| `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. |
|
|
35
35
|
| `relativeTargetDir` | `string` | Relative path to target dir. For `config.mode=merged`, files will be generated into `<baseOutputDir>/<relativeTargetDir>`. For `config.mode=modules`, files will be generated into `<baseOutputDir>/<moduleName>/<relativeTargetDir>` |
|
|
36
36
|
| `mainFile` | `string` | File that puts all generated resolvers together. Relative from `baseOutputDir` |
|
|
37
|
-
| `whitelistedModules` | `Array<string>` | (Only works with `config.mode=modules`) Whitelists modules to generate files and main file
|
|
37
|
+
| `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. |
|
|
38
|
+
| `blacklistedModules` | `Array<string>` | (Only works with `config.mode=modules`) Blacklists modules to avoid generate files and entries in main file. Useful for gradual migrations. |
|
|
38
39
|
| `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'`. |
|
|
39
40
|
| `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 |
|
package/package.json
CHANGED
|
@@ -1,6 +1,28 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@eddeee888/gcg-typescript-resolver-files",
|
|
3
|
-
"version": "0.0.
|
|
3
|
+
"version": "0.0.7",
|
|
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#readme",
|
|
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",
|
|
4
26
|
"dependencies": {
|
|
5
27
|
"@graphql-codegen/add": "^3.2.1",
|
|
6
28
|
"@graphql-codegen/typescript": "^2.8.1",
|
package/src/preset.d.ts
CHANGED
|
@@ -10,6 +10,7 @@ interface ParsedPresetConfig {
|
|
|
10
10
|
mainFile: string;
|
|
11
11
|
mode: 'merged' | 'modules';
|
|
12
12
|
whitelistedModules: string[];
|
|
13
|
+
blacklistedModules: string[];
|
|
13
14
|
externalResolvers: Record<string, string>;
|
|
14
15
|
typesPluginsConfig: ParsedTypesPluginsConfig;
|
|
15
16
|
}
|
|
@@ -20,6 +21,7 @@ export interface TypeScriptResolverFilesPresetConfig {
|
|
|
20
21
|
mainFile?: string;
|
|
21
22
|
mode?: string;
|
|
22
23
|
whitelistedModules?: string[];
|
|
24
|
+
blacklistedModules?: string[];
|
|
23
25
|
externalResolvers?: Record<string, string>;
|
|
24
26
|
typesPluginsConfig?: typeScriptPlugin.TypeScriptPluginConfig & typeScriptResolversPlugin.TypeScriptResolversPluginConfig;
|
|
25
27
|
}
|
package/src/preset.js
CHANGED
|
@@ -20,7 +20,7 @@ exports.preset = {
|
|
|
20
20
|
throw new Error('Empty Sources. Make sure schema files are parsed correctly.');
|
|
21
21
|
}
|
|
22
22
|
const sourcesMap = (0, utils_1.parseSources)(sources);
|
|
23
|
-
const { resolverTypesPath: relativeResolverTypesPathFromBaseOutputDir, relativeTargetDir, mainFile, mode, whitelistedModules, externalResolvers, typesPluginsConfig, } = validatePresetConfig(rawPresetConfig);
|
|
23
|
+
const { resolverTypesPath: relativeResolverTypesPathFromBaseOutputDir, relativeTargetDir, mainFile, mode, whitelistedModules, blacklistedModules, externalResolvers, typesPluginsConfig, } = validatePresetConfig(rawPresetConfig);
|
|
24
24
|
// typescript and typescript-resolvers
|
|
25
25
|
const { defaultScalarTypesMap, defaultScalarExternalResolvers } = Object.entries(schemaAst.getTypeMap()).reduce((res, [schemaType, namedType]) => {
|
|
26
26
|
if (!(0, graphql_1.isScalarType)(namedType)) {
|
|
@@ -64,6 +64,7 @@ exports.preset = {
|
|
|
64
64
|
mainFile,
|
|
65
65
|
mode,
|
|
66
66
|
whitelistedModules,
|
|
67
|
+
blacklistedModules,
|
|
67
68
|
externalResolvers: Object.assign(Object.assign({}, defaultScalarExternalResolvers), externalResolvers),
|
|
68
69
|
},
|
|
69
70
|
result,
|
|
@@ -81,7 +82,7 @@ exports.preset = {
|
|
|
81
82
|
return generatesSection;
|
|
82
83
|
},
|
|
83
84
|
};
|
|
84
|
-
const validatePresetConfig = ({ resolverTypesPath, relativeTargetDir = '', mainFile = 'index.ts', mode = 'modules', whitelistedModules, externalResolvers = {}, typesPluginsConfig = {}, }) => {
|
|
85
|
+
const validatePresetConfig = ({ resolverTypesPath, relativeTargetDir = '', mainFile = 'index.ts', mode = 'modules', whitelistedModules, blacklistedModules, externalResolvers = {}, typesPluginsConfig = {}, }) => {
|
|
85
86
|
if (!resolverTypesPath) {
|
|
86
87
|
throw new Error(`Validation Error - ${presetName} - presetConfig.resolverTypesPath is required`);
|
|
87
88
|
}
|
|
@@ -99,6 +100,14 @@ const validatePresetConfig = ({ resolverTypesPath, relativeTargetDir = '', mainF
|
|
|
99
100
|
throw new Error(`Validation Error - ${presetName} - presetConfig.whitelistedModules can only be used with presetConfig.mode == "modules"`);
|
|
100
101
|
}
|
|
101
102
|
}
|
|
103
|
+
if (blacklistedModules) {
|
|
104
|
+
if (!Array.isArray(blacklistedModules)) {
|
|
105
|
+
throw new Error(`Validation Error - ${presetName} - presetConfig.blacklistedModules must be an array if provided`);
|
|
106
|
+
}
|
|
107
|
+
if (mode !== 'modules') {
|
|
108
|
+
throw new Error(`Validation Error - ${presetName} - presetConfig.blacklistedModules can only be used with presetConfig.mode == "modules"`);
|
|
109
|
+
}
|
|
110
|
+
}
|
|
102
111
|
if (!validateTypesPluginsConfig(typesPluginsConfig)) {
|
|
103
112
|
throw new Error('Invalid typescriptPluginConfig. Should not see this.');
|
|
104
113
|
}
|
|
@@ -108,6 +117,7 @@ const validatePresetConfig = ({ resolverTypesPath, relativeTargetDir = '', mainF
|
|
|
108
117
|
mainFile,
|
|
109
118
|
mode: mode,
|
|
110
119
|
whitelistedModules: whitelistedModules || [],
|
|
120
|
+
blacklistedModules: blacklistedModules || [],
|
|
111
121
|
externalResolvers,
|
|
112
122
|
typesPluginsConfig,
|
|
113
123
|
};
|
package/src/preset.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"preset.js","sourceRoot":"","sources":["../../../../packages/typescript-resolver-files/src/preset.ts"],"names":[],"mappings":";;;AAAA,6BAA6B;AAC7B,kDAAkD;AAClD,gEAAgE;AAChE,mFAAmF;AACnF,qDAA+D;AAE/D,mCAAuC;AAEvC,+BAA4B;AAC5B,qCAAuC;
|
|
1
|
+
{"version":3,"file":"preset.js","sourceRoot":"","sources":["../../../../packages/typescript-resolver-files/src/preset.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
interface CheckIfModuleIsWhitelistedParams {
|
|
2
|
+
moduleName: string;
|
|
3
|
+
whitelistedModules: string[];
|
|
4
|
+
blacklistedModules: string[];
|
|
5
|
+
}
|
|
6
|
+
export declare const checkIfModuleIsWhitelisted: ({ moduleName, whitelistedModules, blacklistedModules, }: CheckIfModuleIsWhitelistedParams) => boolean;
|
|
7
|
+
export {};
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.checkIfModuleIsWhitelisted = void 0;
|
|
4
|
+
const checkIfModuleIsWhitelisted = ({ moduleName, whitelistedModules, blacklistedModules, }) => {
|
|
5
|
+
if (blacklistedModules.includes(moduleName)) {
|
|
6
|
+
return false;
|
|
7
|
+
}
|
|
8
|
+
const isInWhitelistedModule =
|
|
9
|
+
// whitelistedModules is empty a.k.a. all are whitelisted
|
|
10
|
+
whitelistedModules.length === 0
|
|
11
|
+
? true
|
|
12
|
+
: whitelistedModules.includes(moduleName);
|
|
13
|
+
return isInWhitelistedModule;
|
|
14
|
+
};
|
|
15
|
+
exports.checkIfModuleIsWhitelisted = checkIfModuleIsWhitelisted;
|
|
16
|
+
//# sourceMappingURL=checkIfModuleIsWhitelisted.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"checkIfModuleIsWhitelisted.js","sourceRoot":"","sources":["../../../../../packages/typescript-resolver-files/src/run/checkIfModuleIsWhitelisted.ts"],"names":[],"mappings":";;;AAMO,MAAM,0BAA0B,GAAG,CAAC,EACzC,UAAU,EACV,kBAAkB,EAClB,kBAAkB,GACe,EAAW,EAAE;IAC9C,IAAI,kBAAkB,CAAC,QAAQ,CAAC,UAAU,CAAC,EAAE;QAC3C,OAAO,KAAK,CAAC;KACd;IAED,MAAM,qBAAqB;IACzB,yDAAyD;IACzD,kBAAkB,CAAC,MAAM,KAAK,CAAC;QAC7B,CAAC,CAAC,IAAI;QACN,CAAC,CAAC,kBAAkB,CAAC,QAAQ,CAAC,UAAU,CAAC,CAAC;IAE9C,OAAO,qBAAqB,CAAC;AAC/B,CAAC,CAAC;AAhBW,QAAA,0BAA0B,8BAgBrC"}
|
|
@@ -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: `
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"handleGraphQLRootObjectTypeField.js","sourceRoot":"","sources":["../../../../../packages/typescript-resolver-files/src/run/handleGraphQLRootObjectTypeField.ts"],"names":[],"mappings":";;;AACA,oCAA2C;AAEpC,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,
|
|
1
|
+
{"version":3,"file":"handleGraphQLRootObjectTypeField.js","sourceRoot":"","sources":["../../../../../packages/typescript-resolver-files/src/run/handleGraphQLRootObjectTypeField.ts"],"names":[],"mappings":";;;AACA,oCAA2C;AAEpC,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"}
|
|
@@ -5,6 +5,7 @@ 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");
|
|
8
9
|
const visitNamedType = ({ namedType, resolverName, belongsToRootObject, location, visitor, }, ctx) => {
|
|
9
10
|
const normalizedResolverName = normalizeResolverName(resolverName, belongsToRootObject);
|
|
10
11
|
const externalResolverImportSyntax = ctx.config.externalResolvers[normalizedResolverName];
|
|
@@ -17,7 +18,7 @@ const visitNamedType = ({ namedType, resolverName, belongsToRootObject, location
|
|
|
17
18
|
return;
|
|
18
19
|
}
|
|
19
20
|
// Check to see if need to generate resolver files
|
|
20
|
-
const outputDir =
|
|
21
|
+
const outputDir = parseLocationForOutputDir(belongsToRootObject ? [belongsToRootObject] : [], ctx, location);
|
|
21
22
|
if (!outputDir) {
|
|
22
23
|
return;
|
|
23
24
|
}
|
|
@@ -36,7 +37,11 @@ const visitNamedType = ({ namedType, resolverName, belongsToRootObject, location
|
|
|
36
37
|
}
|
|
37
38
|
};
|
|
38
39
|
exports.visitNamedType = visitNamedType;
|
|
39
|
-
|
|
40
|
+
/**
|
|
41
|
+
* Parse location to see which module it belongs to.
|
|
42
|
+
* Also check against whitelisted and blacklisted to see if need to generate file.
|
|
43
|
+
*/
|
|
44
|
+
const parseLocationForOutputDir = (nestedDirs, { config: { mode, sourcesMap, whitelistedModules, blacklistedModules, baseOutputDir, relativeTargetDir, }, }, location) => {
|
|
40
45
|
if (!location) {
|
|
41
46
|
throw new Error('Location is invalid');
|
|
42
47
|
}
|
|
@@ -53,12 +58,12 @@ const parseLocation = (nestedDirs, { config: { mode, sourcesMap, whitelistedModu
|
|
|
53
58
|
if (!sourceFile) {
|
|
54
59
|
throw new Error(`Unable to find ${sourceFilename} in sourcesMap`);
|
|
55
60
|
}
|
|
56
|
-
const
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
return
|
|
61
|
+
const isWhitelistedModule = (0, checkIfModuleIsWhitelisted_1.checkIfModuleIsWhitelisted)({
|
|
62
|
+
moduleName: sourceFile.moduleName,
|
|
63
|
+
whitelistedModules,
|
|
64
|
+
blacklistedModules,
|
|
65
|
+
});
|
|
66
|
+
return isWhitelistedModule
|
|
62
67
|
? path.join(baseOutputDir, sourceFile.moduleName, relativeTargetDir, ...nestedDirs)
|
|
63
68
|
: undefined;
|
|
64
69
|
};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"visitNamedType.js","sourceRoot":"","sources":["../../../../../packages/typescript-resolver-files/src/run/visitNamedType.ts"],"names":[],"mappings":";;;AAAA,6BAA6B;AAC7B,qCAMiB;AACjB,oCAA8C;AAO9C,2EAAwE;
|
|
1
|
+
{"version":3,"file":"visitNamedType.js","sourceRoot":"","sources":["../../../../../packages/typescript-resolver-files/src/run/visitNamedType.ts"],"names":[],"mappings":"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"}
|