UNPKG

16.4 kBSource Map (JSON)View Raw
1{"version":3,"file":"cli.js","sourceRoot":"","sources":["cli.ts"],"names":[],"mappings":"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","sourcesContent":["try {\n require(\"typescript\");\n} catch (e) {\n console.error(\"typescript is required. please try 'npm install -g typescript'\\n\");\n}\n\nimport * as ts from \"typescript\";\n\nimport * as fs from \"fs\";\nimport * as path from \"path\";\nimport * as commandpost from \"commandpost\";\n\nimport * as lib from \"./\";\nimport { getConfigFileName, readFilesFromTsconfig } from \"./utils\";\n\nconst packageJson = JSON.parse(fs.readFileSync(path.join(__dirname, \"../package.json\")).toString());\n\ninterface RootOptions {\n replace: boolean;\n verify: boolean;\n baseDir: string[];\n stdin: boolean;\n tsconfig: boolean;\n tslint: boolean;\n editorconfig: boolean;\n vscode: boolean;\n tsfmt: boolean;\n useTsconfig: string[];\n useTslint: string[];\n useTsfmt: string[];\n useVscode: string[];\n verbose: boolean;\n version: boolean;\n}\n\ninterface RootArguments {\n files: string[];\n}\n\nlet root = commandpost\n .create<RootOptions, RootArguments>(\"tsfmt [files...]\")\n .option(\"-r, --replace\", \"replace .ts file\")\n .option(\"--verify\", \"checking file format\")\n .option(\"--baseDir <path>\", \"config file lookup from <path>\")\n .option(\"--stdin\", \"get formatting content from stdin\")\n .option(\"--no-tsconfig\", \"don't read a tsconfig.json\")\n .option(\"--no-tslint\", \"don't read a tslint.json\")\n .option(\"--no-editorconfig\", \"don't read a .editorconfig\")\n .option(\"--no-vscode\", \"don't read a .vscode/settings.json\")\n .option(\"--no-tsfmt\", \"don't read a tsfmt.json\")\n .option(\"--useTsconfig <path>\", \"using specified config file instead of tsconfig.json\")\n .option(\"--useTslint <path>\", \"using specified config file instead of tslint.json\")\n .option(\"--useTsfmt <path>\", \"using specified config file instead of tsfmt.json\")\n .option(\"--useVscode <path>\", \"using specified config file instead of .vscode/settings.json\")\n .option(\"--verbose\", \"makes output more verbose\")\n .option(\"-v, --version\", \"output the version number\")\n .action((opts, args) => {\n let replace = !!opts.replace;\n let verify = !!opts.verify;\n let baseDir = opts.baseDir ? opts.baseDir[0] : void 0;\n let stdin = !!opts.stdin;\n let tsconfig = !!opts.tsconfig;\n let tslint = !!opts.tslint;\n let editorconfig = !!opts.editorconfig;\n let vscode = !!opts.vscode;\n let tsfmt = !!opts.tsfmt;\n let tsconfigFile = opts.useTsconfig[0] ? path.join(process.cwd(), opts.useTsconfig[0]) : null;\n let tslintFile = opts.useTslint[0] ? path.join(process.cwd(), opts.useTslint[0]) : null;\n let vscodeFile = opts.useVscode[0] ? path.join(process.cwd(), opts.useVscode[0]) : null;\n let tsfmtFile = opts.useTsfmt[0] ? path.join(process.cwd(), opts.useTsfmt[0]) : null;\n let verbose = !!opts.verbose;\n let version = !!opts.version;\n\n if (version) {\n console.log(`tsfmt : ${packageJson.version}`);\n console.log(`tsc : ${ts.version}`);\n return;\n }\n\n let files = args.files;\n let useTsconfig = false;\n if (files.length === 0) {\n let configFileName = tsconfigFile || getConfigFileName(baseDir || process.cwd(), \"tsconfig.json\");\n if (configFileName) {\n files = readFilesFromTsconfig(configFileName);\n if (verbose) {\n console.log(`read: ${configFileName}`);\n }\n useTsconfig = true;\n }\n }\n\n if (files.length === 0 && !opts.stdin) {\n process.stdout.write(root.helpText() + \"\\n\");\n return;\n }\n\n if (verbose) {\n const printPool: { [name: string]: string; } = {};\n const printSetting = (name: string, value: string | boolean) => {\n if (typeof value === \"boolean\") {\n printPool[name] = value ? \"ON\" : \"OFF\";\n } else {\n printPool[name] = value;\n }\n };\n const doPrint = () => {\n const maxLength = Object.keys(printPool).reduce((p, c) => Math.max(p, c.length), 0);\n Object.keys(printPool).forEach(key => {\n const value = printPool[key];\n console.log(`${padSpaces(key, maxLength + 1)}: ${value}`);\n });\n\n function padSpaces(str: string, len: number) {\n let result = str;\n while (result.length < len) {\n result += \" \";\n }\n return result;\n }\n };\n\n printSetting(\"replace\", replace);\n printSetting(\"verify\", verify);\n printSetting(\"baseDir\", baseDir ? baseDir : process.cwd());\n printSetting(\"stdin\", stdin);\n printSetting(\"files from tsconfig\", useTsconfig);\n printSetting(\"tsconfig\", tsconfig);\n if (tsconfigFile) {\n printSetting(\"specified tsconfig.json\", tsconfigFile);\n }\n printSetting(\"tslint\", tslint);\n if (tslintFile) {\n printSetting(\"specified tslint.json\", tslintFile);\n }\n printSetting(\"editorconfig\", editorconfig);\n printSetting(\"vscode\", vscode);\n if (vscodeFile) {\n printSetting(\"specified vscode settings.json\", vscodeFile);\n }\n printSetting(\"tsfmt\", tsfmt);\n if (tsfmtFile) {\n printSetting(\"specified tsfmt.json\", tsfmtFile);\n }\n\n doPrint();\n }\n\n if (stdin) {\n if (replace) {\n errorHandler(\"--stdin option can not use with --replace option\");\n return;\n }\n lib\n .processStream(files[0] || \"temp.ts\", process.stdin, {\n replace: replace,\n verify: verify,\n baseDir: baseDir,\n tsconfig: tsconfig,\n tsconfigFile: tsconfigFile,\n tslint: tslint,\n tslintFile: tslintFile,\n editorconfig: editorconfig,\n vscode: vscode,\n vscodeFile: vscodeFile,\n tsfmt: tsfmt,\n tsfmtFile: tsfmtFile,\n verbose: verbose,\n })\n .then(result => {\n let resultMap: lib.ResultMap = {};\n resultMap[result.fileName] = result;\n return resultMap;\n })\n .then(showResultHandler)\n .catch(errorHandler);\n } else {\n lib\n .processFiles(files, {\n replace: replace,\n verify: verify,\n baseDir: baseDir,\n tsconfig: tsconfig,\n tsconfigFile: tsconfigFile,\n tslint: tslint,\n tslintFile: tslintFile,\n editorconfig: editorconfig,\n vscode: vscode,\n vscodeFile: vscodeFile,\n tsfmt: tsfmt,\n tsfmtFile: tsfmtFile,\n verbose: verbose,\n })\n .then(showResultHandler)\n .catch(errorHandler);\n }\n });\n\ncommandpost\n .exec(root, process.argv)\n .catch(errorHandler);\n\nfunction showResultHandler(resultMap: lib.ResultMap): Promise<any> {\n\n let hasError = Object.keys(resultMap).filter(fileName => resultMap[fileName].error).length !== 0;\n if (hasError) {\n Object.keys(resultMap)\n .map(fileName => resultMap[fileName])\n .filter(result => result.error)\n .forEach(result => process.stderr.write(result.message));\n process.exit(1);\n } else {\n Object.keys(resultMap)\n .map(fileName => resultMap[fileName])\n .forEach(result => {\n if (result.message) {\n process.stdout.write(result.message);\n }\n });\n }\n return Promise.resolve(null);\n}\n\nfunction errorHandler(err: any): Promise<any> {\n\n if (err instanceof Error) {\n console.error(err.stack);\n } else {\n console.error(err);\n }\n return Promise.resolve(null).then(() => {\n process.exit(1);\n return null;\n });\n}\n"]}
\No newline at end of file