UNPKG

typescript-formatter

Version:
91 lines 3.42 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); var path = require("path"); var fs = require("fs"); var utils_1 = require("../utils"); function makeFormatCodeOptions(fileName, opts, formatSettings) { var baseDir = opts.baseDir ? path.resolve(opts.baseDir) : path.dirname(path.resolve(fileName)); var configFileName; if (opts.tslintFile && path.isAbsolute(opts.tslintFile)) { configFileName = opts.tslintFile; } else { configFileName = utils_1.getConfigFileName(baseDir, opts.tslintFile || "tslint.json"); } if (!configFileName) { return formatSettings; } if (opts.verbose) { console.log("read " + configFileName + " for " + fileName); } var config = utils_1.parseJSON(fs.readFileSync(configFileName, "utf-8")); if (!config.rules) { return formatSettings; } if (config.rules.indent && config.rules.indent[0]) { if (config.rules.indent[1] === "spaces") { formatSettings.convertTabsToSpaces = true; } else if (config.rules.indent[1] === "tabs") { formatSettings.convertTabsToSpaces = false; } } if (config.rules.whitespace && config.rules.whitespace[0]) { for (var p in config.rules.whitespace) { var value = config.rules.whitespace[p]; if (value === "check-branch") { formatSettings.insertSpaceAfterKeywordsInControlFlowStatements = true; } else if (value === "check-decl") { // none? } else if (value === "check-operator") { formatSettings.insertSpaceBeforeAndAfterBinaryOperators = true; } else if (value === "check-separator") { formatSettings.insertSpaceAfterCommaDelimiter = true; formatSettings.insertSpaceAfterSemicolonInForStatements = true; } else if (value === "check-type") { // none? } else if (value === "check-typecast") { formatSettings.insertSpaceAfterTypeAssertion = true; } } } return formatSettings; } exports.makeFormatCodeOptions = makeFormatCodeOptions; function postProcess(fileName, formattedCode, opts, _formatSettings) { var baseDir = opts.baseDir ? path.resolve(opts.baseDir) : path.dirname(path.resolve(fileName)); var configFileName; if (opts.tslintFile && path.isAbsolute(opts.tslintFile)) { configFileName = opts.tslintFile; } else { configFileName = utils_1.getConfigFileName(baseDir, opts.tslintFile || "tslint.json"); } if (!configFileName) { return formattedCode; } var config = utils_1.parseJSON(fs.readFileSync(configFileName, "utf-8")); if (!config.rules) { return formattedCode; } var additionalOptions = createDefaultAdditionalFormatCodeSettings(); if (config.rules["no-consecutive-blank-lines"] === true) { additionalOptions.$noConsecutiveBlankLines = true; } if (additionalOptions.$noConsecutiveBlankLines) { formattedCode = formattedCode.replace(/\n+^$/mg, "\n"); } return formattedCode; } exports.postProcess = postProcess; function createDefaultAdditionalFormatCodeSettings() { return { $noConsecutiveBlankLines: false, }; } //# sourceMappingURL=tslintjson.js.map