UNPKG

2.01 kBJavaScriptView Raw
1"use strict";
2Object.defineProperty(exports, "__esModule", { value: true });
3const graphql_codegen_plugin_helpers_1 = require("graphql-codegen-plugin-helpers");
4const codegen_1 = require("./codegen");
5const watcher_1 = require("./utils/watcher");
6const file_system_1 = require("./utils/file-system");
7const mkdirp_1 = require("mkdirp");
8const path_1 = require("path");
9process.env.NODE_TLS_REJECT_UNAUTHORIZED = '0';
10async function generate(config, saveToFile = true) {
11 async function writeOutput(generationResult) {
12 if (!saveToFile) {
13 return generationResult;
14 }
15 await Promise.all(generationResult.map(async (result) => {
16 if (!shouldOverwrite(config, result.filename) && file_system_1.fileExists(result.filename)) {
17 return;
18 }
19 const content = result.content || '';
20 if (content.length === 0) {
21 return;
22 }
23 const basedir = path_1.dirname(result.filename);
24 mkdirp_1.sync(basedir);
25 file_system_1.writeSync(result.filename, result.content);
26 }));
27 return generationResult;
28 }
29 // watch mode
30 if (config.watch) {
31 return watcher_1.createWatcher(config, writeOutput);
32 }
33 const outputFiles = await codegen_1.executeCodegen(config);
34 await writeOutput(outputFiles);
35 return outputFiles;
36}
37exports.generate = generate;
38function shouldOverwrite(config, outputPath) {
39 const globalValue = !!config.overwrite;
40 const outputConfig = config.generates[outputPath];
41 if (!outputConfig) {
42 graphql_codegen_plugin_helpers_1.debugLog(`Couldn't find a config of ${outputPath}`);
43 return globalValue;
44 }
45 if (isConfiguredOutput(outputConfig) && typeof outputConfig.overwrite === 'boolean') {
46 return outputConfig.overwrite;
47 }
48 return globalValue;
49}
50function isConfiguredOutput(output) {
51 return typeof output.plugins !== 'undefined';
52}
53//# sourceMappingURL=generate-and-save.js.map
\No newline at end of file