1 | {"version":3,"file":"cli.js","sourceRoot":"","sources":["../../src/lib/cli.ts"],"names":[],"mappings":"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","sourcesContent":["import * as typescript from 'typescript';\n\nimport { Application } from './application';\nimport { Option } from './utils/component';\nimport { OptionsReadResult } from './utils/options/options';\nimport { ParameterHint, ParameterType } from './utils/options/declaration';\nimport { getOptionsHelp } from './utils/options/help';\n\nexport const enum ExitCode {\n OptionError = 1,\n NoInputFiles = 2,\n NoOutput = 3,\n CompileError = 4,\n OutputError = 5\n}\n\nexport class CliApplication extends Application {\n @Option({\n name: 'out',\n help: 'Specifies the location the documentation should be written to.',\n hint: ParameterHint.Directory\n })\n out!: string;\n\n @Option({\n name: 'json',\n help: 'Specifies the location and file name a json file describing the project is written to.',\n hint: ParameterHint.File\n })\n json!: string;\n\n @Option({\n name: 'version',\n short: 'v',\n help: 'Print the TypeDoc\\'s version.',\n type: ParameterType.Boolean\n })\n version!: boolean;\n\n @Option({\n name: 'help',\n short: 'h',\n help: 'Print this message.',\n type: ParameterType.Boolean\n })\n help!: boolean;\n\n /**\n * Run TypeDoc from the command line.\n */\n protected bootstrap(options?: Object): OptionsReadResult {\n const result = super.bootstrap(options);\n if (result.hasErrors) {\n return process.exit(ExitCode.OptionError);\n }\n\n if (this.version) {\n typescript.sys.write(this.toString());\n } else if (this.help) {\n typescript.sys.write(getOptionsHelp(this.options));\n } else if (result.inputFiles.length === 0) {\n typescript.sys.write(getOptionsHelp(this.options));\n process.exit(ExitCode.NoInputFiles);\n } else {\n const src = this.expandInputFiles(result.inputFiles);\n const project = this.convert(src);\n if (project) {\n if (this.out) {\n this.generateDocs(project, this.out);\n }\n if (this.json) {\n this.generateJson(project, this.json);\n }\n if (!this.out && !this.json) {\n this.logger.log(\"No 'out' or 'json' option has been set\");\n this.logger.log(\"The './docs' directory has be set as the output location by default\");\n this.generateDocs(project, './docs');\n }\n if (this.logger.hasErrors()) {\n process.exit(ExitCode.OutputError);\n }\n } else {\n process.exit(ExitCode.CompileError);\n }\n }\n\n return result;\n }\n\n get isCLI(): boolean {\n return true;\n }\n}\n"]} |