UNPKG

123 kBSource Map (JSON)View Raw
1{"version":3,"file":"index.esm.js","sources":["../../../dist/graphql-codegen-cli/src/utils/logger.js","../../../dist/graphql-codegen-cli/src/utils/debugging.js","../../../dist/graphql-codegen-cli/src/utils/listr-renderer.js","../../../dist/graphql-codegen-cli/src/plugins.js","../../../dist/graphql-codegen-cli/src/presets.js","../../../dist/graphql-codegen-cli/src/graphql-config.js","../../../dist/graphql-codegen-cli/src/load.js","../../../dist/graphql-codegen-cli/src/config.js","../../../dist/graphql-codegen-cli/src/codegen.js","../../../dist/graphql-codegen-cli/src/hooks.js","../../../dist/graphql-codegen-cli/src/utils/watcher.js","../../../dist/graphql-codegen-cli/src/utils/file-system.js","../../../dist/graphql-codegen-cli/src/generate-and-save.js","../../../dist/graphql-codegen-cli/src/init/helpers.js","../../../dist/graphql-codegen-cli/src/init/types.js","../../../dist/graphql-codegen-cli/src/init/plugins.js","../../../dist/graphql-codegen-cli/src/init/questions.js","../../../dist/graphql-codegen-cli/src/init/targets.js","../../../dist/graphql-codegen-cli/src/init/index.js","../../../dist/graphql-codegen-cli/src/utils/is-browser.js","../../../dist/graphql-codegen-cli/src/utils/cli-error.js","../../../dist/graphql-codegen-cli/src/cli.js"],"sourcesContent":["import { dummyLogger } from 'ts-log';\nlet logger;\nexport function getLogger() {\n return logger || dummyLogger;\n}\nuseWinstonLogger();\nexport function setLogger(newLogger) {\n logger = newLogger;\n}\nexport function setSilentLogger() {\n logger = dummyLogger;\n}\nexport function useWinstonLogger() {\n if (logger && logger.levels) {\n return;\n }\n logger = console;\n}\n//# sourceMappingURL=logger.js.map","import { getLogger } from './logger';\nlet queue = [];\nexport function debugLog(message, ...meta) {\n if (!process.env.GQL_CODEGEN_NODEBUG && process.env.DEBUG !== undefined) {\n queue.push({\n message,\n meta,\n });\n }\n}\nexport function printLogs() {\n if (!process.env.GQL_CODEGEN_NODEBUG && process.env.DEBUG !== undefined) {\n queue.forEach(log => {\n getLogger().info(log.message, ...log.meta);\n });\n resetLogs();\n }\n}\nexport function resetLogs() {\n queue = [];\n}\n//# sourceMappingURL=debugging.js.map","import chalk from 'chalk';\nimport indentString from 'indent-string';\nimport logSymbol from 'log-symbols';\nimport ansiEscapes from 'ansi-escapes';\nimport wrapAnsi from 'wrap-ansi';\nimport { stripIndent } from 'common-tags';\nimport { isDetailedError } from '@graphql-codegen/plugin-helpers';\nimport { debugLog, printLogs } from './debugging';\nconst UpdateRenderer = require('listr-update-renderer');\nexport class Renderer {\n constructor(tasks, options) {\n this.updateRenderer = new UpdateRenderer(tasks, options);\n }\n render() {\n return this.updateRenderer.render();\n }\n end(err) {\n this.updateRenderer.end(err);\n if (typeof err === 'undefined') {\n logUpdate.clear();\n return;\n }\n // persist the output\n logUpdate.done();\n // show errors\n if (err) {\n const errorCount = err.errors ? err.errors.length : 0;\n if (errorCount > 0) {\n const count = indentString(chalk.red.bold(`Found ${errorCount} error${errorCount > 1 ? 's' : ''}`), 1);\n const details = err.errors\n .map(error => {\n debugLog(`[CLI] Exited with an error`, error);\n return { msg: isDetailedError(error) ? error.details : null, rawError: error };\n })\n .map(({ msg, rawError }, i) => {\n const source = err.errors[i].source;\n msg = msg ? chalk.gray(indentString(stripIndent(`${msg}`), 4)) : null;\n const stack = rawError.stack ? chalk.gray(indentString(stripIndent(rawError.stack), 4)) : null;\n if (source) {\n const sourceOfError = typeof source === 'string' ? source : source.name;\n const title = indentString(`${logSymbol.error} ${sourceOfError}`, 2);\n return [title, msg, stack, stack].filter(Boolean).join('\\n');\n }\n return [msg, stack].filter(Boolean).join('\\n');\n })\n .join('\\n\\n');\n logUpdate.emit(['', count, details, ''].join('\\n\\n'));\n }\n else {\n const details = err.details ? err.details : '';\n logUpdate.emit(`${chalk.red.bold(`${indentString(err.message, 2)}`)}\\n${details}\\n${chalk.grey(err.stack)}`);\n }\n }\n logUpdate.done();\n printLogs();\n }\n}\nconst render = tasks => {\n for (const task of tasks) {\n task.subscribe(event => {\n if (event.type === 'SUBTASKS') {\n render(task.subtasks);\n return;\n }\n if (event.type === 'DATA') {\n logUpdate.emit(chalk.dim(`${event.data}`));\n }\n logUpdate.done();\n }, err => {\n logUpdate.emit(err);\n logUpdate.done();\n });\n }\n};\nexport class ErrorRenderer {\n constructor(tasks, _options) {\n this.tasks = tasks;\n }\n render() {\n render(this.tasks);\n }\n static get nonTTY() {\n return true;\n }\n end() { }\n}\nclass LogUpdate {\n constructor() {\n this.stream = process.stdout;\n // state\n this.previousLineCount = 0;\n this.previousOutput = '';\n this.previousWidth = this.getWidth();\n }\n emit(...args) {\n let output = args.join(' ') + '\\n';\n const width = this.getWidth();\n if (output === this.previousOutput && this.previousWidth === width) {\n return;\n }\n this.previousOutput = output;\n this.previousWidth = width;\n output = wrapAnsi(output, width, {\n trim: false,\n hard: true,\n wordWrap: false,\n });\n this.stream.write(ansiEscapes.eraseLines(this.previousLineCount) + output);\n this.previousLineCount = output.split('\\n').length;\n }\n clear() {\n this.stream.write(ansiEscapes.eraseLines(this.previousLineCount));\n this.previousOutput = '';\n this.previousWidth = this.getWidth();\n this.previousLineCount = 0;\n }\n done() {\n this.previousOutput = '';\n this.previousWidth = this.getWidth();\n this.previousLineCount = 0;\n }\n getWidth() {\n const { columns } = this.stream;\n if (!columns) {\n return 80;\n }\n return columns;\n }\n}\nconst logUpdate = new LogUpdate();\n//# sourceMappingURL=listr-renderer.js.map","import { DetailedError } from '@graphql-codegen/plugin-helpers';\nimport { resolve } from 'path';\nexport async function getPluginByName(name, pluginLoader) {\n const possibleNames = [\n `@graphql-codegen/${name}`,\n `@graphql-codegen/${name}-template`,\n `@graphql-codegen/${name}-plugin`,\n `graphql-codegen-${name}`,\n `graphql-codegen-${name}-template`,\n `graphql-codegen-${name}-plugin`,\n `codegen-${name}`,\n `codegen-${name}-template`,\n name,\n ];\n const possibleModules = possibleNames.concat(resolve(process.cwd(), name));\n for (const moduleName of possibleModules) {\n try {\n return await pluginLoader(moduleName);\n }\n catch (err) {\n if (err.code !== 'MODULE_NOT_FOUND') {\n throw new DetailedError(`Unable to load template plugin matching ${name}`, `\n Unable to load template plugin matching '${name}'.\n Reason: \n ${err.message}\n `);\n }\n }\n }\n const possibleNamesMsg = possibleNames\n .map(name => `\n - ${name}\n `.trimRight())\n .join('');\n throw new DetailedError(`Unable to find template plugin matching ${name}`, `\n Unable to find template plugin matching '${name}'\n Install one of the following packages:\n \n ${possibleNamesMsg}\n `);\n}\n//# sourceMappingURL=plugins.js.map","import { DetailedError } from '@graphql-codegen/plugin-helpers';\nexport async function getPresetByName(name, loader) {\n const possibleNames = [`@graphql-codegen/${name}`, `@graphql-codegen/${name}-preset`, name];\n for (const moduleName of possibleNames) {\n try {\n const loaded = await loader(moduleName);\n if (loaded && loaded.preset) {\n return loaded.preset;\n }\n else if (loaded && loaded.default) {\n return loaded.default;\n }\n return loaded;\n }\n catch (err) {\n if (err.code !== 'MODULE_NOT_FOUND') {\n throw new DetailedError(`Unable to load preset matching ${name}`, `\n Unable to load preset matching '${name}'.\n Reason: \n ${err.message}\n `);\n }\n }\n }\n const possibleNamesMsg = possibleNames\n .map(name => `\n - ${name}\n `.trimRight())\n .join('');\n throw new DetailedError(`Unable to find preset matching ${name}`, `\n Unable to find preset matching '${name}'\n Install one of the following packages:\n \n ${possibleNamesMsg}\n `);\n}\n//# sourceMappingURL=presets.js.map","import { loadConfig } from 'graphql-config';\nimport { ApolloEngineLoader } from '@graphql-tools/apollo-engine-loader';\nimport { CodeFileLoader } from '@graphql-tools/code-file-loader';\nimport { GitLoader } from '@graphql-tools/git-loader';\nimport { GithubLoader } from '@graphql-tools/github-loader';\nimport { PrismaLoader } from '@graphql-tools/prisma-loader';\nexport const CodegenExtension = (api) => {\n // Schema\n api.loaders.schema.register(new CodeFileLoader());\n api.loaders.schema.register(new GitLoader());\n api.loaders.schema.register(new GithubLoader());\n api.loaders.schema.register(new ApolloEngineLoader());\n api.loaders.schema.register(new PrismaLoader());\n // Documents\n api.loaders.documents.register(new CodeFileLoader());\n api.loaders.documents.register(new GitLoader());\n api.loaders.documents.register(new GithubLoader());\n return {\n name: 'codegen',\n };\n};\nexport async function findAndLoadGraphQLConfig(filepath) {\n const config = await loadConfig({\n filepath,\n rootDir: process.cwd(),\n extensions: [CodegenExtension],\n throwOnEmpty: false,\n throwOnMissing: false,\n });\n if (isGraphQLConfig(config)) {\n return config;\n }\n}\n// Kamil: user might load a config that is not GraphQL Config\n// so we need to check if it's a regular config or not\nfunction isGraphQLConfig(config) {\n if (!config) {\n return false;\n }\n try {\n return config.getDefault().hasExtension('codegen');\n }\n catch (e) { }\n try {\n for (const projectName in config.projects) {\n if (config.projects.hasOwnProperty(projectName)) {\n const project = config.projects[projectName];\n if (project.hasExtension('codegen')) {\n return true;\n }\n }\n }\n }\n catch (e) { }\n return false;\n}\n//# sourceMappingURL=graphql-config.js.map","import { loadSchema as loadSchemaToolkit, loadDocuments as loadDocumentsToolkit, } from '@graphql-tools/load';\nimport { DetailedError } from '@graphql-codegen/plugin-helpers';\nimport { CodeFileLoader } from '@graphql-tools/code-file-loader';\nimport { GitLoader } from '@graphql-tools/git-loader';\nimport { GithubLoader } from '@graphql-tools/github-loader';\nimport { GraphQLFileLoader } from '@graphql-tools/graphql-file-loader';\nimport { JsonFileLoader } from '@graphql-tools/json-file-loader';\nimport { UrlLoader } from '@graphql-tools/url-loader';\nimport { ApolloEngineLoader } from '@graphql-tools/apollo-engine-loader';\nimport { PrismaLoader } from '@graphql-tools/prisma-loader';\nimport { join } from 'path';\nexport const defaultSchemaLoadOptions = {\n assumeValidSDL: true,\n sort: true,\n convertExtensions: true,\n includeSources: true,\n};\nexport const defaultDocumentsLoadOptions = {\n sort: true,\n skipGraphQLImport: true,\n};\nexport async function loadSchema(schemaPointers, config) {\n try {\n const loaders = [\n new CodeFileLoader(),\n new GitLoader(),\n new GithubLoader(),\n new GraphQLFileLoader(),\n new JsonFileLoader(),\n new UrlLoader(),\n new ApolloEngineLoader(),\n new PrismaLoader(),\n ];\n const schema = await loadSchemaToolkit(schemaPointers, {\n ...defaultSchemaLoadOptions,\n loaders,\n ...config,\n });\n return schema;\n }\n catch (e) {\n throw new DetailedError('Failed to load schema', `\n Failed to load schema from ${Object.keys(schemaPointers).join(',')}:\n\n ${e.message || e}\n ${e.stack || ''}\n \n GraphQL Code Generator supports:\n - ES Modules and CommonJS exports (export as default or named export \"schema\")\n - Introspection JSON File\n - URL of GraphQL endpoint\n - Multiple files with type definitions (glob expression)\n - String in config file\n \n Try to use one of above options and run codegen again.\n \n `);\n }\n}\nexport async function loadDocuments(documentPointers, config) {\n const loaders = [new CodeFileLoader(), new GitLoader(), new GithubLoader(), new GraphQLFileLoader()];\n const loadedFromToolkit = await loadDocumentsToolkit(documentPointers, {\n ...defaultDocumentsLoadOptions,\n ignore: Object.keys(config.generates).map(p => join(process.cwd(), p)),\n loaders,\n ...config,\n });\n return loadedFromToolkit;\n}\n//# sourceMappingURL=load.js.map","import { cosmiconfig, defaultLoaders } from 'cosmiconfig';\nimport { resolve } from 'path';\nimport { DetailedError } from '@graphql-codegen/plugin-helpers';\nimport { env } from 'string-env-interpolation';\nimport yargs from 'yargs';\nimport { findAndLoadGraphQLConfig } from './graphql-config';\nimport { loadSchema, loadDocuments, defaultSchemaLoadOptions, defaultDocumentsLoadOptions } from './load';\nfunction generateSearchPlaces(moduleName) {\n const extensions = ['json', 'yaml', 'yml', 'js', 'config.js'];\n // gives codegen.json...\n const regular = extensions.map(ext => `${moduleName}.${ext}`);\n // gives .codegenrc.json... but no .codegenrc.config.js\n const dot = extensions.filter(ext => ext !== 'config.js').map(ext => `.${moduleName}rc.${ext}`);\n return regular.concat(dot);\n}\nfunction customLoader(ext) {\n function loader(filepath, content) {\n if (typeof process !== 'undefined' && 'env' in process) {\n content = env(content);\n }\n if (ext === 'json') {\n return defaultLoaders['.json'](filepath, content);\n }\n if (ext === 'yaml') {\n return defaultLoaders['.yaml'](filepath, content);\n }\n if (ext === 'js') {\n return defaultLoaders['.js'](filepath, content);\n }\n }\n return loader;\n}\nexport async function loadContext(configFilePath) {\n const moduleName = 'codegen';\n const cosmi = cosmiconfig(moduleName, {\n searchPlaces: generateSearchPlaces(moduleName),\n loaders: {\n '.json': customLoader('json'),\n '.yaml': customLoader('yaml'),\n '.yml': customLoader('yaml'),\n '.js': customLoader('js'),\n noExt: customLoader('yaml'),\n },\n });\n const graphqlConfig = await findAndLoadGraphQLConfig(configFilePath);\n if (graphqlConfig) {\n return new CodegenContext({\n graphqlConfig,\n });\n }\n const result = await (configFilePath ? cosmi.load(configFilePath) : cosmi.search(process.cwd()));\n if (!result) {\n if (configFilePath) {\n throw new DetailedError(`Config ${configFilePath} does not exist`, `\n Config ${configFilePath} does not exist.\n \n $ graphql-codegen --config ${configFilePath}\n \n Please make sure the --config points to a correct file.\n `);\n }\n throw new DetailedError(`Unable to find Codegen config file!`, `\n Please make sure that you have a configuration file under the current directory! \n `);\n }\n if (result.isEmpty) {\n throw new DetailedError(`Found Codegen config file but it was empty!`, `\n Please make sure that you have a valid configuration file under the current directory!\n `);\n }\n return new CodegenContext({\n filepath: result.filepath,\n config: result.config,\n });\n}\nfunction getCustomConfigPath(cliFlags) {\n const configFile = cliFlags.config;\n return configFile ? resolve(process.cwd(), configFile) : null;\n}\nexport function buildOptions() {\n return {\n c: {\n alias: 'config',\n type: 'string',\n describe: 'Path to GraphQL codegen YAML config file, defaults to \"codegen.yml\" on the current directory',\n },\n w: {\n alias: 'watch',\n describe: 'Watch for changes and execute generation automatically. You can also specify a glob expreession for custom watch list.',\n coerce: (watch) => {\n if (watch === 'false') {\n return false;\n }\n if (typeof watch === 'string' || Array.isArray(watch)) {\n return watch;\n }\n return true;\n },\n },\n r: {\n alias: 'require',\n describe: 'Loads specific require.extensions before running the codegen and reading the configuration',\n type: 'array',\n default: [],\n },\n o: {\n alias: 'overwrite',\n describe: 'Overwrites existing files',\n type: 'boolean',\n },\n s: {\n alias: 'silent',\n describe: 'Suppresses printing errors',\n type: 'boolean',\n },\n e: {\n alias: 'errors-only',\n describe: 'Only print errors',\n type: 'boolean',\n },\n p: {\n alias: 'project',\n describe: 'Name of a project in GraphQL Config',\n type: 'string',\n },\n };\n}\nexport function parseArgv(argv = process.argv) {\n return yargs.options(buildOptions()).parse(argv);\n}\nexport async function createContext(cliFlags = parseArgv(process.argv)) {\n if (cliFlags.require && cliFlags.require.length > 0) {\n await Promise.all(cliFlags.require.map(mod => import(require.resolve(mod, { paths: [process.cwd()] }))));\n }\n const customConfigPath = getCustomConfigPath(cliFlags);\n const context = await loadContext(customConfigPath);\n updateContextWithCliFlags(context, cliFlags);\n return context;\n}\nexport function updateContextWithCliFlags(context, cliFlags) {\n const config = {\n configFilePath: context.filepath,\n };\n if (cliFlags.watch) {\n config.watch = cliFlags.watch;\n }\n if (cliFlags.overwrite === true) {\n config.overwrite = cliFlags.overwrite;\n }\n if (cliFlags.silent === true) {\n config.silent = cliFlags.silent;\n }\n if (cliFlags.errorsOnly === true) {\n config.errorsOnly = cliFlags.errorsOnly;\n }\n if (cliFlags.project) {\n context.useProject(cliFlags.project);\n }\n context.updateConfig(config);\n}\nexport class CodegenContext {\n constructor({ config, graphqlConfig, filepath, }) {\n this._pluginContext = {};\n this._config = config;\n this._graphqlConfig = graphqlConfig;\n this.filepath = this._graphqlConfig ? this._graphqlConfig.filepath : filepath;\n this.cwd = this._graphqlConfig ? this._graphqlConfig.dirpath : process.cwd();\n }\n useProject(name) {\n this._project = name;\n }\n getConfig(extraConfig) {\n if (!this.config) {\n if (this._graphqlConfig) {\n const project = this._graphqlConfig.getProject(this._project);\n this.config = {\n ...project.extension('codegen'),\n schema: project.schema,\n documents: project.documents,\n pluginContext: this._pluginContext,\n };\n }\n else {\n this.config = { ...this._config, pluginContext: this._pluginContext };\n }\n }\n return {\n ...extraConfig,\n ...this.config,\n };\n }\n updateConfig(config) {\n this.config = {\n ...this.getConfig(),\n ...config,\n };\n }\n getPluginContext() {\n return this._pluginContext;\n }\n async loadSchema(pointer) {\n const config = this.getConfig(defaultSchemaLoadOptions);\n if (this._graphqlConfig) {\n // TODO: SchemaWithLoader won't work here\n return this._graphqlConfig.getProject(this._project).loadSchema(pointer, 'GraphQLSchema', config);\n }\n return loadSchema(pointer, config);\n }\n async loadDocuments(pointer) {\n const config = this.getConfig(defaultDocumentsLoadOptions);\n if (this._graphqlConfig) {\n // TODO: pointer won't work here\n const documents = await this._graphqlConfig.getProject(this._project).loadDocuments(pointer, config);\n return documents;\n }\n return loadDocuments(pointer, config);\n }\n}\nexport function ensureContext(input) {\n return input instanceof CodegenContext ? input : new CodegenContext({ config: input });\n}\n//# sourceMappingURL=config.js.map","import { DetailedError, normalizeOutputParam, normalizeInstanceOrArray, normalizeConfig, } from '@graphql-codegen/plugin-helpers';\nimport { codegen } from '@graphql-codegen/core';\nimport { Renderer, ErrorRenderer } from './utils/listr-renderer';\nimport { GraphQLError, parse } from 'graphql';\nimport { getPluginByName } from './plugins';\nimport { getPresetByName } from './presets';\nimport { debugLog } from './utils/debugging';\nimport { printSchemaWithDirectives } from '@graphql-tools/utils';\nimport { ensureContext } from './config';\nimport fs from 'fs';\nimport path from 'path';\n// eslint-disable-next-line\nimport { createRequire, createRequireFromPath } from 'module';\nconst makeDefaultLoader = (from) => {\n if (fs.statSync(from).isDirectory()) {\n from = path.join(from, '__fake.js');\n }\n const relativeRequire = (createRequire || createRequireFromPath)(from);\n return (mod) => {\n return import(relativeRequire.resolve(mod));\n };\n};\nexport async function executeCodegen(input) {\n function wrapTask(task, source) {\n return async () => {\n try {\n await Promise.resolve().then(() => task());\n }\n catch (error) {\n if (source && !(error instanceof GraphQLError)) {\n error.source = source;\n }\n throw error;\n }\n };\n }\n const context = ensureContext(input);\n const config = context.getConfig();\n const pluginContext = context.getPluginContext();\n const result = [];\n const commonListrOptions = {\n exitOnError: true,\n };\n const Listr = await import('listr').then(m => ('default' in m ? m.default : m));\n let listr;\n if (process.env.VERBOSE) {\n listr = new Listr({\n ...commonListrOptions,\n renderer: 'verbose',\n nonTTYRenderer: 'verbose',\n });\n }\n else if (process.env.NODE_ENV === 'test') {\n listr = new Listr({\n ...commonListrOptions,\n renderer: 'silent',\n nonTTYRenderer: 'silent',\n });\n }\n else {\n listr = new Listr({\n ...commonListrOptions,\n renderer: config.silent ? 'silent' : config.errorsOnly ? ErrorRenderer : Renderer,\n nonTTYRenderer: config.silent ? 'silent' : 'default',\n collapse: true,\n clearOutput: false,\n });\n }\n let rootConfig = {};\n let rootSchemas;\n let rootDocuments;\n const generates = {};\n async function normalize() {\n /* Load Require extensions */\n const requireExtensions = normalizeInstanceOrArray(config.require);\n const loader = makeDefaultLoader(context.cwd);\n for (const mod of requireExtensions) {\n await loader(mod);\n }\n /* Root plugin config */\n rootConfig = config.config || {};\n /* Normalize root \"schema\" field */\n rootSchemas = normalizeInstanceOrArray(config.schema);\n /* Normalize root \"documents\" field */\n rootDocuments = normalizeInstanceOrArray(config.documents);\n /* Normalize \"generators\" field */\n const generateKeys = Object.keys(config.generates || {});\n if (generateKeys.length === 0) {\n throw new DetailedError('Invalid Codegen Configuration!', `\n Please make sure that your codegen config file contains the \"generates\" field, with a specification for the plugins you need.\n \n It should looks like that:\n\n schema:\n - my-schema.graphql\n generates:\n my-file.ts:\n - plugin1\n - plugin2\n - plugin3\n `);\n }\n for (const filename of generateKeys) {\n generates[filename] = normalizeOutputParam(config.generates[filename]);\n if (generates[filename].plugins.length === 0) {\n throw new DetailedError('Invalid Codegen Configuration!', `\n Please make sure that your codegen config file has defined plugins list for output \"${filename}\".\n \n It should looks like that:\n \n schema:\n - my-schema.graphql\n generates:\n my-file.ts:\n - plugin1\n - plugin2\n - plugin3\n `);\n }\n }\n if (rootSchemas.length === 0 &&\n Object.keys(generates).some(filename => !generates[filename].schema || generates[filename].schema.length === 0)) {\n throw new DetailedError('Invalid Codegen Configuration!', `\n Please make sure that your codegen config file contains either the \"schema\" field \n or every generated file has its own \"schema\" field.\n \n It should looks like that:\n schema:\n - my-schema.graphql\n\n or:\n generates:\n path/to/output:\n schema: my-schema.graphql\n `);\n }\n }\n listr.add({\n title: 'Parse configuration',\n task: () => normalize(),\n });\n listr.add({\n title: 'Generate outputs',\n task: () => {\n return new Listr(Object.keys(generates).map(filename => {\n const outputConfig = generates[filename];\n const hasPreset = !!outputConfig.preset;\n return {\n title: hasPreset\n ? `Generate to ${filename} (using EXPERIMENTAL preset \"${outputConfig.preset}\")`\n : `Generate ${filename}`,\n task: () => {\n let outputSchemaAst;\n let outputSchema;\n const outputFileTemplateConfig = outputConfig.config || {};\n const outputDocuments = [];\n const outputSpecificSchemas = normalizeInstanceOrArray(outputConfig.schema);\n const outputSpecificDocuments = normalizeInstanceOrArray(outputConfig.documents);\n return new Listr([\n {\n title: 'Load GraphQL schemas',\n task: wrapTask(async () => {\n debugLog(`[CLI] Loading Schemas`);\n const schemaPointerMap = {};\n const allSchemaUnnormalizedPointers = [...rootSchemas, ...outputSpecificSchemas];\n for (const unnormalizedPtr of allSchemaUnnormalizedPointers) {\n if (typeof unnormalizedPtr === 'string') {\n schemaPointerMap[unnormalizedPtr] = {};\n }\n else if (typeof unnormalizedPtr === 'object') {\n Object.assign(schemaPointerMap, unnormalizedPtr);\n }\n }\n outputSchemaAst = await context.loadSchema(schemaPointerMap);\n outputSchema = parse(printSchemaWithDirectives(outputSchemaAst));\n }, filename),\n },\n {\n title: 'Load GraphQL documents',\n task: wrapTask(async () => {\n debugLog(`[CLI] Loading Documents`);\n const allDocuments = [...rootDocuments, ...outputSpecificDocuments];\n const documents = await context.loadDocuments(allDocuments);\n if (documents.length > 0) {\n outputDocuments.push(...documents);\n }\n }, filename),\n },\n {\n title: 'Generate',\n task: wrapTask(async () => {\n debugLog(`[CLI] Generating output`);\n const normalizedPluginsArray = normalizeConfig(outputConfig.plugins);\n const pluginLoader = config.pluginLoader || makeDefaultLoader(context.cwd);\n const pluginPackages = await Promise.all(normalizedPluginsArray.map(plugin => getPluginByName(Object.keys(plugin)[0], pluginLoader)));\n const pluginMap = {};\n const preset = hasPreset\n ? typeof outputConfig.preset === 'string'\n ? await getPresetByName(outputConfig.preset, makeDefaultLoader(context.cwd))\n : outputConfig.preset\n : null;\n pluginPackages.forEach((pluginPackage, i) => {\n const plugin = normalizedPluginsArray[i];\n const name = Object.keys(plugin)[0];\n pluginMap[name] = pluginPackage;\n });\n const mergedConfig = {\n ...rootConfig,\n ...(typeof outputFileTemplateConfig === 'string'\n ? { value: outputFileTemplateConfig }\n : outputFileTemplateConfig),\n };\n let outputs = [];\n if (hasPreset) {\n outputs = await preset.buildGeneratesSection({\n baseOutputDir: filename,\n presetConfig: outputConfig.presetConfig || {},\n plugins: normalizedPluginsArray,\n schema: outputSchema,\n schemaAst: outputSchemaAst,\n documents: outputDocuments,\n config: mergedConfig,\n pluginMap,\n pluginContext,\n });\n }\n else {\n outputs = [\n {\n filename,\n plugins: normalizedPluginsArray,\n schema: outputSchema,\n schemaAst: outputSchemaAst,\n documents: outputDocuments,\n config: mergedConfig,\n pluginMap,\n pluginContext,\n },\n ];\n }\n const process = async (outputArgs) => {\n const output = await codegen(outputArgs);\n result.push({\n filename: outputArgs.filename,\n content: output,\n hooks: outputConfig.hooks || {},\n });\n };\n await Promise.all(outputs.map(process));\n }, filename),\n },\n ], {\n // it stops when one of tasks failed\n exitOnError: true,\n });\n },\n };\n }), {\n // it doesn't stop when one of tasks failed, to finish at least some of outputs\n exitOnError: false,\n // run 4 at once\n concurrent: 4,\n });\n },\n });\n await listr.run();\n return result;\n}\n//# sourceMappingURL=codegen.js.map","import { debugLog } from './utils/debugging';\nimport { exec } from 'child_process';\nimport { delimiter, sep } from 'path';\nconst DEFAULT_HOOKS = {\n afterStart: [],\n beforeDone: [],\n onWatchTriggered: [],\n onError: [],\n afterOneFileWrite: [],\n afterAllFileWrite: [],\n beforeOneFileWrite: [],\n beforeAllFileWrite: [],\n};\nfunction normalizeHooks(_hooks) {\n const keys = Object.keys({\n ...DEFAULT_HOOKS,\n ...(_hooks || {}),\n });\n return keys.reduce((prev, hookName) => {\n if (typeof _hooks[hookName] === 'string') {\n return {\n ...prev,\n [hookName]: [_hooks[hookName]],\n };\n }\n else if (Array.isArray(_hooks[hookName])) {\n return {\n ...prev,\n [hookName]: _hooks[hookName],\n };\n }\n else {\n return prev;\n }\n }, {});\n}\nfunction execShellCommand(cmd) {\n return new Promise((resolve, reject) => {\n exec(cmd, {\n env: {\n ...process.env,\n PATH: `${process.env.PATH}${delimiter}${process.cwd()}${sep}node_modules${sep}.bin`,\n },\n }, (error, stdout, stderr) => {\n if (error) {\n reject(error);\n }\n else {\n resolve(stdout || stderr);\n }\n });\n });\n}\nasync function executeHooks(hookName, scripts = [], args = []) {\n debugLog(`Running lifecycle hook \"${hookName}\" scripts...`);\n for (const script of scripts) {\n if (typeof script === 'string') {\n debugLog(`Running lifecycle hook \"${hookName}\" script: ${script} with args: ${args.join(' ')}...`);\n await execShellCommand(`${script} ${args.join(' ')}`);\n }\n else {\n debugLog(`Running lifecycle hook \"${hookName}\" script: ${script.name} with args: ${args.join(' ')}...`);\n await script(...args);\n }\n }\n}\nexport const lifecycleHooks = (_hooks = {}) => {\n const hooks = normalizeHooks(_hooks);\n return {\n afterStart: async () => executeHooks('afterStart', hooks.afterStart),\n onWatchTriggered: async (event, path) => executeHooks('onWatchTriggered', hooks.onWatchTriggered, [event, path]),\n onError: async (error) => executeHooks('onError', hooks.onError, [`\"${error}\"`]),\n afterOneFileWrite: async (path) => executeHooks('afterOneFileWrite', hooks.afterOneFileWrite, [path]),\n afterAllFileWrite: async (paths) => executeHooks('afterAllFileWrite', hooks.afterAllFileWrite, paths),\n beforeOneFileWrite: async (path) => executeHooks('beforeOneFileWrite', hooks.beforeOneFileWrite, [path]),\n beforeAllFileWrite: async (paths) => executeHooks('beforeAllFileWrite', hooks.beforeAllFileWrite, paths),\n beforeDone: async () => executeHooks('beforeDone', hooks.beforeDone),\n };\n};\n//# sourceMappingURL=hooks.js.map","import { executeCodegen } from '../codegen';\nimport { normalizeInstanceOrArray, normalizeOutputParam } from '@graphql-codegen/plugin-helpers';\nimport isGlob from 'is-glob';\nimport debounce from 'debounce';\nimport logSymbols from 'log-symbols';\nimport { debugLog } from './debugging';\nimport { getLogger } from './logger';\nimport { join } from 'path';\nimport { lifecycleHooks } from '../hooks';\nimport { loadContext } from '../config';\nimport { isValidPath } from '@graphql-tools/utils';\nfunction log(msg) {\n // double spaces to inline the message with Listr\n getLogger().info(` ${msg}`);\n}\nfunction emitWatching() {\n log(`${logSymbols.info} Watching for changes...`);\n}\nexport const createWatcher = (initalContext, onNext) => {\n debugLog(`[Watcher] Starting watcher...`);\n let config = initalContext.getConfig();\n const files = [initalContext.filepath].filter(a => a);\n const documents = normalizeInstanceOrArray(config.documents);\n const schemas = normalizeInstanceOrArray(config.schema);\n // Add schemas and documents from \"generates\"\n Object.keys(config.generates)\n .map(filename => normalizeOutputParam(config.generates[filename]))\n .forEach(conf => {\n schemas.push(...normalizeInstanceOrArray(conf.schema));\n documents.push(...normalizeInstanceOrArray(conf.documents));\n });\n if (documents) {\n documents.forEach(doc => {\n if (typeof doc === 'string') {\n files.push(doc);\n }\n else {\n files.push(...Object.keys(doc));\n }\n });\n }\n schemas.forEach((schema) => {\n if (isGlob(schema) || isValidPath(schema)) {\n files.push(schema);\n }\n });\n if (typeof config.watch !== 'boolean') {\n files.push(...normalizeInstanceOrArray(config.watch));\n }\n let watcher;\n const runWatcher = async () => {\n var _a, _b;\n const chokidar = await import('chokidar');\n let isShutdown = false;\n const debouncedExec = debounce(() => {\n if (!isShutdown) {\n executeCodegen(initalContext)\n .then(onNext, () => Promise.resolve())\n .then(() => emitWatching());\n }\n }, 100);\n emitWatching();\n const ignored = [];\n Object.keys(config.generates)\n .map(filename => ({ filename, config: normalizeOutputParam(config.generates[filename]) }))\n .forEach(entry => {\n if (entry.config.preset) {\n const extension = entry.config.presetConfig && entry.config.presetConfig.extension;\n if (extension) {\n ignored.push(join(entry.filename, '**', '*' + extension));\n }\n }\n else {\n ignored.push(entry.filename);\n }\n });\n watcher = chokidar.watch(files, {\n persistent: true,\n ignoreInitial: true,\n followSymlinks: true,\n cwd: process.cwd(),\n disableGlobbing: false,\n usePolling: (_a = config.watchConfig) === null || _a === void 0 ? void 0 : _a.usePolling,\n interval: (_b = config.watchConfig) === null || _b === void 0 ? void 0 : _b.interval,\n depth: 99,\n awaitWriteFinish: true,\n ignorePermissionErrors: false,\n atomic: true,\n ignored,\n });\n debugLog(`[Watcher] Started`);\n const shutdown = () => {\n isShutdown = true;\n debugLog(`[Watcher] Shutting down`);\n log(`Shutting down watch...`);\n watcher.close();\n lifecycleHooks(config.hooks).beforeDone();\n };\n // it doesn't matter what has changed, need to run whole process anyway\n watcher.on('all', async (eventName, path) => {\n lifecycleHooks(config.hooks).onWatchTriggered(eventName, path);\n debugLog(`[Watcher] triggered due to a file ${eventName} event: ${path}`);\n const fullPath = join(process.cwd(), path);\n delete require.cache[fullPath];\n if (eventName === 'change' && config.configFilePath && fullPath === config.configFilePath) {\n log(`${logSymbols.info} Config file has changed, reloading...`);\n const context = await loadContext(config.configFilePath);\n const newParsedConfig = context.getConfig();\n newParsedConfig.watch = config.watch;\n newParsedConfig.silent = config.silent;\n newParsedConfig.overwrite = config.overwrite;\n newParsedConfig.configFilePath = config.configFilePath;\n config = newParsedConfig;\n }\n debouncedExec();\n });\n process.once('SIGINT', shutdown);\n process.once('SIGTERM', shutdown);\n };\n // the promise never resolves to keep process running\n return new Promise((resolve, reject) => {\n executeCodegen(initalContext)\n .then(onNext, () => Promise.resolve())\n .then(runWatcher)\n .catch(err => {\n watcher.close();\n reject(err);\n });\n });\n};\n//# sourceMappingURL=watcher.js.map","import { writeFileSync, statSync, readFileSync, unlink } from 'fs';\nexport function writeSync(filepath, content) {\n return writeFileSync(filepath, content);\n}\nexport function readSync(filepath) {\n return readFileSync(filepath, 'utf-8');\n}\nexport function fileExists(filePath) {\n try {\n return statSync(filePath).isFile();\n }\n catch (err) {\n return false;\n }\n}\nexport function unlinkFile(filePath, cb) {\n unlink(filePath, cb);\n}\n//# sourceMappingURL=file-system.js.map","import { lifecycleHooks } from './hooks';\nimport { executeCodegen } from './codegen';\nimport { createWatcher } from './utils/watcher';\nimport { fileExists, readSync, writeSync, unlinkFile } from './utils/file-system';\nimport { sync as mkdirpSync } from 'mkdirp';\nimport { dirname, join, isAbsolute } from 'path';\nimport { debugLog } from './utils/debugging';\nimport { ensureContext } from './config';\nimport { createHash } from 'crypto';\nconst hash = (content) => createHash('sha1').update(content).digest('base64');\nexport async function generate(input, saveToFile = true) {\n const context = ensureContext(input);\n const config = context.getConfig();\n await lifecycleHooks(config.hooks).afterStart();\n let previouslyGeneratedFilenames = [];\n function removeStaleFiles(config, generationResult) {\n const filenames = generationResult.map(o => o.filename);\n // find stale files from previous build which are not present in current build\n const staleFilenames = previouslyGeneratedFilenames.filter(f => !filenames.includes(f));\n staleFilenames.forEach(filename => {\n if (shouldOverwrite(config, filename)) {\n unlinkFile(filename, err => {\n const prettyFilename = filename.replace(`${input.cwd || process.cwd()}/`, '');\n if (err) {\n debugLog(`Cannot remove stale file: ${prettyFilename}\\n${err}`);\n }\n else {\n debugLog(`Removed stale file: ${prettyFilename}`);\n }\n });\n }\n });\n previouslyGeneratedFilenames = filenames;\n }\n const recentOutputHash = new Map();\n async function writeOutput(generationResult) {\n if (!saveToFile) {\n return generationResult;\n }\n if (config.watch) {\n removeStaleFiles(config, generationResult);\n }\n await lifecycleHooks(config.hooks).beforeAllFileWrite(generationResult.map(r => r.filename));\n await Promise.all(generationResult.map(async (result) => {\n const exists = fileExists(result.filename);\n if (!shouldOverwrite(config, result.filename) && exists) {\n return;\n }\n const content = result.content || '';\n const currentHash = hash(content);\n let previousHash = recentOutputHash.get(result.filename);\n if (!previousHash && exists) {\n previousHash = hash(readSync(result.filename));\n }\n if (previousHash && currentHash === previousHash) {\n debugLog(`Skipping file (${result.filename}) writing due to indentical hash...`);\n return;\n }\n if (content.length === 0) {\n return;\n }\n recentOutputHash.set(result.filename, currentHash);\n const basedir = dirname(result.filename);\n await lifecycleHooks(result.hooks).beforeOneFileWrite(result.filename);\n await lifecycleHooks(config.hooks).beforeOneFileWrite(result.filename);\n mkdirpSync(basedir);\n const absolutePath = isAbsolute(result.filename)\n ? result.filename\n : join(input.cwd || process.cwd(), result.filename);\n writeSync(absolutePath, result.content);\n await lifecycleHooks(result.hooks).afterOneFileWrite(result.filename);\n await lifecycleHooks(config.hooks).afterOneFileWrite(result.filename);\n }));\n await lifecycleHooks(config.hooks).afterAllFileWrite(generationResult.map(r => r.filename));\n return generationResult;\n }\n // watch mode\n if (config.watch) {\n return createWatcher(context, writeOutput);\n }\n const outputFiles = await executeCodegen(context);\n await writeOutput(outputFiles);\n lifecycleHooks(config.hooks).beforeDone();\n return outputFiles;\n}\nfunction shouldOverwrite(config, outputPath) {\n const globalValue = config.overwrite === undefined ? true : !!config.overwrite;\n const outputConfig = config.generates[outputPath];\n if (!outputConfig) {\n debugLog(`Couldn't find a config of ${outputPath}`);\n return globalValue;\n }\n if (isConfiguredOutput(outputConfig) && typeof outputConfig.overwrite === 'boolean') {\n return outputConfig.overwrite;\n }\n return globalValue;\n}\nfunction isConfiguredOutput(output) {\n return typeof output.plugins !== 'undefined';\n}\n//# sourceMappingURL=generate-and-save.js.map","import chalk from 'chalk';\nimport { resolve, relative } from 'path';\nimport { writeFileSync, readFileSync } from 'fs';\nimport detectIndent from 'detect-indent';\nimport getLatestVersion from 'latest-version';\n// Parses config and writes it to a file\nexport async function writeConfig(answers, config) {\n const YAML = await import('json-to-pretty-yaml').then(m => ('default' in m ? m.default : m));\n const ext = answers.config.toLocaleLowerCase().endsWith('.json') ? 'json' : 'yml';\n const content = ext === 'json' ? JSON.stringify(config) : YAML.stringify(config);\n const fullPath = resolve(process.cwd(), answers.config);\n const relativePath = relative(process.cwd(), answers.config);\n writeFileSync(fullPath, content, {\n encoding: 'utf-8',\n });\n return {\n relativePath,\n fullPath,\n };\n}\n// Updates package.json (script and plugins as dependencies)\nexport async function writePackage(answers, configLocation) {\n // script\n const pkgPath = resolve(process.cwd(), 'package.json');\n const pkgContent = readFileSync(pkgPath, {\n encoding: 'utf-8',\n });\n const pkg = JSON.parse(pkgContent);\n const { indent } = detectIndent(pkgContent);\n if (!pkg.scripts) {\n pkg.scripts = {};\n }\n pkg.scripts[answers.script] = `graphql-codegen --config ${configLocation}`;\n // plugin\n if (!pkg.devDependencies) {\n pkg.devDependencies = {};\n }\n await Promise.all(answers.plugins.map(async (plugin) => {\n pkg.devDependencies[plugin.package] = await getLatestVersion(plugin.package);\n }));\n if (answers.introspection) {\n pkg.devDependencies['@graphql-codegen/introspection'] = await getLatestVersion('@graphql-codegen/introspection');\n }\n pkg.devDependencies['@graphql-codegen/cli'] = await getLatestVersion('@graphql-codegen/cli');\n writeFileSync(pkgPath, JSON.stringify(pkg, null, indent));\n}\nexport function bold(str) {\n return chalk.bold(str);\n}\nexport function grey(str) {\n return chalk.grey(str);\n}\nexport function italic(str) {\n return chalk.italic(str);\n}\n//# sourceMappingURL=helpers.js.map","export var Tags;\n(function (Tags) {\n Tags[\"browser\"] = \"Browser\";\n Tags[\"node\"] = \"Node\";\n Tags[\"typescript\"] = \"TypeScript\";\n Tags[\"flow\"] = \"Flow\";\n Tags[\"angular\"] = \"Angular\";\n Tags[\"stencil\"] = \"Stencil\";\n Tags[\"react\"] = \"React\";\n Tags[\"vue\"] = \"Vue\";\n})(Tags || (Tags = {}));\n//# sourceMappingURL=types.js.map","import { italic } from './helpers';\nimport { Tags } from './types';\nexport const plugins = [\n {\n name: `TypeScript ${italic('(required by other typescript plugins)')}`,\n package: '@graphql-codegen/typescript',\n value: 'typescript',\n pathInRepo: 'typescript/typescript',\n available: hasTag(Tags.typescript),\n shouldBeSelected: tags => oneOf(tags, Tags.angular, Tags.stencil) || allOf(tags, Tags.typescript, Tags.react) || noneOf(tags, Tags.flow),\n defaultExtension: '.ts',\n },\n {\n name: `TypeScript Operations ${italic('(operations and fragments)')}`,\n package: '@graphql-codegen/typescript-operations',\n value: 'typescript-operations',\n pathInRepo: 'typescript/operations',\n available: tags => allOf(tags, Tags.browser, Tags.typescript),\n shouldBeSelected: tags => oneOf(tags, Tags.angular, Tags.stencil) || allOf(tags, Tags.typescript, Tags.react),\n defaultExtension: '.ts',\n },\n {\n name: `TypeScript Resolvers ${italic('(strongly typed resolve functions)')}`,\n package: '@graphql-codegen/typescript-resolvers',\n value: 'typescript-resolvers',\n pathInRepo: 'typescript/resolvers',\n available: tags => allOf(tags, Tags.node, Tags.typescript),\n shouldBeSelected: tags => noneOf(tags, Tags.flow),\n defaultExtension: '.ts',\n },\n {\n name: `Flow ${italic('(required by other flow plugins)')}`,\n package: '@graphql-codegen/flow',\n value: 'flow',\n pathInRepo: 'flow/flow',\n available: hasTag(Tags.flow),\n shouldBeSelected: tags => noneOf(tags, Tags.typescript),\n defaultExtension: '.js',\n },\n {\n name: `Flow Operations ${italic('(operations and fragments)')}`,\n package: '@graphql-codegen/flow-operations',\n value: 'flow-operations',\n pathInRepo: 'flow/operations',\n available: tags => allOf(tags, Tags.browser, Tags.flow),\n shouldBeSelected: tags => noneOf(tags, Tags.typescript),\n defaultExtension: '.js',\n },\n {\n name: `Flow Resolvers ${italic('(strongly typed resolve functions)')}`,\n package: '@graphql-codegen/flow-resolvers',\n value: 'flow-resolvers',\n pathInRepo: 'flow/resolvers',\n available: tags => allOf(tags, Tags.node, Tags.flow),\n shouldBeSelected: tags => noneOf(tags, Tags.typescript),\n defaultExtension: '.js',\n },\n {\n name: `TypeScript Apollo Angular ${italic('(typed GQL services)')}`,\n package: '@graphql-codegen/typescript-apollo-angular',\n value: 'typescript-apollo-angular',\n pathInRepo: 'typescript/apollo-angular',\n available: hasTag(Tags.angular),\n shouldBeSelected: () => true,\n defaultExtension: '.js',\n },\n {\n name: `TypeScript Vue Apollo ${italic('(typed composition functions)')}`,\n package: '@graphql-codegen/typescript-vue-apollo',\n value: 'typescript-vue-apollo',\n pathInRepo: 'typescript/vue-apollo',\n available: tags => allOf(tags, Tags.vue, Tags.typescript),\n shouldBeSelected: () => true,\n defaultExtension: '.ts',\n },\n {\n name: `TypeScript React Apollo ${italic('(typed components and HOCs)')}`,\n package: '@graphql-codegen/typescript-react-apollo',\n value: 'typescript-react-apollo',\n pathInRepo: 'typescript/react-apollo',\n available: tags => allOf(tags, Tags.react, Tags.typescript),\n shouldBeSelected: () => true,\n defaultExtension: '.tsx',\n },\n {\n name: `TypeScript Stencil Apollo ${italic('(typed components)')}`,\n package: '@graphql-codegen/typescript-stencil-apollo',\n value: 'typescript-stencil-apollo',\n pathInRepo: 'typescript/stencil-apollo',\n available: hasTag(Tags.stencil),\n shouldBeSelected: () => true,\n defaultExtension: '.tsx',\n },\n {\n name: `TypeScript MongoDB ${italic('(typed MongoDB objects)')}`,\n package: '@graphql-codegen/typescript-mongodb',\n value: 'typescript-mongodb',\n pathInRepo: 'typescript/mongodb',\n available: tags => allOf(tags, Tags.node, Tags.typescript),\n shouldBeSelected: () => false,\n defaultExtension: '.ts',\n },\n {\n name: `TypeScript GraphQL files modules ${italic('(declarations for .graphql files)')}`,\n package: '@graphql-codegen/typescript-graphql-files-modules',\n value: 'typescript-graphql-files-modules',\n pathInRepo: 'typescript/graphql-files-modules',\n available: tags => allOf(tags, Tags.browser, Tags.typescript),\n shouldBeSelected: () => false,\n defaultExtension: '.ts',\n },\n {\n name: `TypeScript GraphQL document nodes ${italic('(embedded GraphQL document)')}`,\n package: '@graphql-codegen/typescript-document-nodes',\n value: 'typescript-document-nodes',\n pathInRepo: 'typescript/document-nodes',\n available: tags => allOf(tags, Tags.typescript),\n shouldBeSelected: () => false,\n defaultExtension: '.ts',\n },\n {\n name: `Introspection Fragment Matcher ${italic('(for Apollo Client)')}`,\n package: '@graphql-codegen/fragment-matcher',\n value: 'fragment-matcher',\n pathInRepo: 'other/fragment-matcher',\n available: hasTag(Tags.browser),\n shouldBeSelected: () => false,\n defaultExtension: '.ts',\n },\n];\nfunction hasTag(tag) {\n return (tags) => tags.includes(tag);\n}\nfunction oneOf(list, ...items) {\n return list.some(i => items.includes(i));\n}\nfunction noneOf(list, ...items) {\n return !list.some(i => items.includes(i));\n}\nfunction allOf(list, ...items) {\n return items.every(i => list.includes(i));\n}\n//# sourceMappingURL=plugins.js.map","import { grey } from './helpers';\nimport { Tags } from './types';\nimport { plugins } from './plugins';\nexport function getQuestions(possibleTargets) {\n return [\n {\n type: 'checkbox',\n name: 'targets',\n message: `What type of application are you building?`,\n choices: getApplicationTypeChoices(possibleTargets),\n validate: ((targets) => targets.length > 0),\n },\n {\n type: 'input',\n name: 'schema',\n message: 'Where is your schema?:',\n suffix: grey(' (path or url)'),\n default: 'http://localhost:4000',\n validate: (str) => str.length > 0,\n },\n {\n type: 'input',\n name: 'documents',\n message: 'Where are your operations and fragments?:',\n when: answers => {\n // flatten targets\n // I can't find an API in Inquirer that would do that\n answers.targets = normalizeTargets(answers.targets);\n return answers.targets.includes(Tags.browser);\n },\n default: 'src/**/*.graphql',\n validate: (str) => str.length > 0,\n },\n {\n type: 'checkbox',\n name: 'plugins',\n message: 'Pick plugins:',\n choices: getPluginChoices,\n validate: ((plugins) => plugins.length > 0),\n },\n {\n type: 'input',\n name: 'output',\n message: 'Where to write the output:',\n default: getOutputDefaultValue,\n validate: (str) => str.length > 0,\n },\n {\n type: 'confirm',\n name: 'introspection',\n message: 'Do you want to generate an introspection file?',\n },\n {\n type: 'input',\n name: 'config',\n message: 'How to name the config file?',\n default: 'codegen.yml',\n validate: (str) => {\n const isNotEmpty = str.length > 0;\n const hasCorrectExtension = ['json', 'yml', 'yaml'].some(ext => str.toLocaleLowerCase().endsWith(`.${ext}`));\n return isNotEmpty && hasCorrectExtension;\n },\n },\n {\n type: 'input',\n name: 'script',\n message: 'What script in package.json should run the codegen?',\n validate: (str) => str.length > 0,\n },\n ];\n}\nexport function getApplicationTypeChoices(possibleTargets) {\n function withFlowOrTypescript(tags) {\n if (possibleTargets.TypeScript) {\n tags.push(Tags.typescript);\n }\n else if (possibleTargets.Flow) {\n tags.push(Tags.flow);\n }\n else {\n tags.push(Tags.flow, Tags.typescript);\n }\n return tags;\n }\n return [\n {\n name: 'Backend - API or server',\n key: 'backend',\n value: withFlowOrTypescript([Tags.node]),\n checked: possibleTargets.Node,\n },\n {\n name: 'Application built with Angular',\n key: 'angular',\n value: [Tags.angular, Tags.browser, Tags.typescript],\n checked: possibleTargets.Angular,\n },\n {\n name: 'Application built with React',\n key: 'react',\n value: withFlowOrTypescript([Tags.react, Tags.browser]),\n checked: possibleTargets.React,\n },\n {\n name: 'Application built with Stencil',\n key: 'stencil',\n value: [Tags.stencil, Tags.browser, Tags.typescript],\n checked: possibleTargets.Stencil,\n },\n {\n name: 'Application built with other framework or vanilla JS',\n key: 'client',\n value: [Tags.browser, Tags.typescript, Tags.flow],\n checked: possibleTargets.Browser && !possibleTargets.Angular && !possibleTargets.React && !possibleTargets.Stencil,\n },\n ];\n}\nexport function getPluginChoices(answers) {\n return plugins\n .filter(p => p.available(answers.targets))\n .map(p => {\n return {\n name: p.name,\n value: p,\n checked: p.shouldBeSelected(answers.targets),\n };\n });\n}\nfunction normalizeTargets(targets) {\n return [].concat(...targets);\n}\nexport function getOutputDefaultValue(answers) {\n if (answers.plugins.some(plugin => plugin.defaultExtension === '.tsx')) {\n return 'src/generated/graphql.tsx';\n }\n else if (answers.plugins.some(plugin => plugin.defaultExtension === '.ts')) {\n return 'src/generated/graphql.ts';\n }\n else {\n return 'src/generated/graphql.js';\n }\n}\n//# sourceMappingURL=questions.js.map","import { resolve } from 'path';\nimport { readFileSync } from 'fs';\nimport { Tags } from './types';\nexport async function guessTargets() {\n const pkg = JSON.parse(readFileSync(resolve(process.cwd(), 'package.json'), {\n encoding: 'utf-8',\n }));\n const dependencies = Object.keys({\n ...pkg.dependencies,\n ...pkg.devDependencies,\n });\n return {\n [Tags.angular]: isAngular(dependencies),\n [Tags.react]: isReact(dependencies),\n [Tags.stencil]: isStencil(dependencies),\n [Tags.vue]: isVue(dependencies),\n [Tags.browser]: false,\n [Tags.node]: false,\n [Tags.typescript]: isTypescript(dependencies),\n [Tags.flow]: isFlow(dependencies),\n };\n}\nfunction isAngular(dependencies) {\n return dependencies.includes('@angular/core');\n}\nfunction isReact(dependencies) {\n return dependencies.includes('react');\n}\nfunction isStencil(dependencies) {\n return dependencies.includes('@stencil/core');\n}\nfunction isVue(dependencies) {\n return dependencies.includes('vue') || dependencies.includes('nuxt');\n}\nfunction isTypescript(dependencies) {\n return dependencies.includes('typescript');\n}\nfunction isFlow(dependencies) {\n return dependencies.includes('flow');\n}\n//# sourceMappingURL=targets.js.map","import inquirer from 'inquirer';\nimport { getQuestions } from './questions';\nimport { guessTargets } from './targets';\nimport { Tags } from './types';\nimport { writeConfig, writePackage, bold } from './helpers';\nfunction log(...msgs) {\n // eslint-disable-next-line no-console\n console.log(...msgs);\n}\nexport async function init() {\n log(`\n Welcome to ${bold('GraphQL Code Generator')}!\n Answer few questions and we will setup everything for you.\n `);\n const possibleTargets = await guessTargets();\n const answers = await inquirer.prompt(getQuestions(possibleTargets));\n // define config\n const config = {\n overwrite: true,\n schema: answers.schema,\n documents: answers.targets.includes(Tags.browser) ? answers.documents : null,\n generates: {\n [answers.output]: {\n plugins: answers.plugins.map(p => p.value),\n },\n },\n };\n // introspection\n if (answers.introspection) {\n addIntrospection(config);\n }\n // config file\n const { relativePath } = await writeConfig(answers, config);\n log(`Fetching latest versions of selected plugins...`);\n // write package.json\n await writePackage(answers, relativePath);\n // Emit status to the terminal\n log(`\n Config file generated at ${bold(relativePath)}\n \n ${bold('$ npm install')}\n\n To install the plugins.\n\n ${bold(`$ npm run ${answers.script}`)}\n\n To run GraphQL Code Generator.\n `);\n}\n// adds an introspection to `generates`\nfunction addIntrospection(config) {\n config.generates['./graphql.schema.json'] = {\n plugins: ['introspection'],\n };\n}\n//# sourceMappingURL=index.js.map","const isBrowser = typeof window !== 'undefined' && typeof window.document !== 'undefined';\nconst isNode = typeof process !== 'undefined' && process.versions != null && process.versions.node != null;\nexport { isBrowser, isNode };\n//# sourceMappingURL=is-browser.js.map","import { isBrowser, isNode } from './is-browser';\nexport function cliError(err, exitOnError = true) {\n let msg;\n if (err instanceof Error) {\n msg = err.message || err.toString();\n }\n else if (typeof err === 'string') {\n msg = err;\n }\n else {\n msg = JSON.stringify(err);\n }\n // eslint-disable-next-line no-console\n console.error(msg);\n if (exitOnError && isNode) {\n process.exit(1);\n }\n else if (exitOnError && isBrowser) {\n throw err;\n }\n}\n//# sourceMappingURL=cli-error.js.map","import { generate } from './generate-and-save';\nimport { init } from './init';\nimport { createContext } from './config';\nimport { lifecycleHooks } from './hooks';\nimport { DetailedError } from '@graphql-codegen/plugin-helpers';\nexport function runCli(cmd) {\n ensureGraphQlPackage();\n switch (cmd) {\n case 'init':\n return init();\n default: {\n return createContext().then(context => {\n return generate(context).catch(async (error) => {\n await lifecycleHooks(context.getConfig().hooks).onError(error.toString());\n throw error;\n });\n });\n }\n }\n}\nexport function ensureGraphQlPackage() {\n try {\n require('graphql');\n }\n catch (e) {\n throw new DetailedError(`Unable to load \"graphql\" package. Please make sure to install \"graphql\" as a dependency!`, `\n To install \"graphql\", run:\n yarn add graphql\n Or, with NPM:\n npm install --save graphql\n`);\n }\n}\n//# sourceMappingURL=cli.js.map"],"names":["logSymbol","loadSchemaToolkit","loadDocumentsToolkit","mkdirpSync","log"],"mappings":"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"}
\No newline at end of file