UNPKG

@gdjiami/cli

Version:

CLI for build front end project.

42 lines (41 loc) 1.77 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); var tslib_1 = require("tslib"); var fs_extra_1 = tslib_1.__importDefault(require("fs-extra")); var json5_1 = tslib_1.__importDefault(require("json5")); var path_1 = tslib_1.__importDefault(require("path")); var utils_1 = require("../../utils"); var genTsLintConfig = function (appPath, ownPath, ownPkg) { var tsLintConfigPath = path_1.default.join(appPath, 'tslint.json'); var builinTsLintConfigPath = path_1.default.posix.join(ownPkg.name, 'lib/tslint.json'); if (fs_extra_1.default.existsSync(tsLintConfigPath)) { var config = json5_1.default.parse(fs_extra_1.default.readFileSync(tsLintConfigPath).toString()); var dirty = false; if (config.extends) { if (typeof config.extends === 'string' && config.extends !== builinTsLintConfigPath) { config.extends = [builinTsLintConfigPath, config.extends]; dirty = true; } else if (config.extends.indexOf(builinTsLintConfigPath) === -1) { ; config.extends.unshift(builinTsLintConfigPath); dirty = true; } } if (config.defaultSeverity && config.defaultSeverity !== 'warning') { config.defaultSeverity = 'warning'; dirty = true; } if (dirty) { utils_1.writeJSON(tsLintConfigPath, config); utils_1.message.info('updated tslint.json'); } } else { utils_1.writeJSON(tsLintConfigPath, { extends: [builinTsLintConfigPath], }); utils_1.message.info('created tslint.json'); } }; exports.default = genTsLintConfig;