@nuofe/ndk-lint-tool
Version:
Lint tool for Nuo FE.
71 lines (46 loc) • 1.87 kB
JavaScript
;
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
Object.defineProperty(exports, "__esModule", {
value: true
});
exports.default = void 0;
var _ndkLogger = _interopRequireDefault(require("@nuofe/ndk-logger"));
var _ndkPrettier = _interopRequireDefault(require("@nuofe/ndk-prettier"));
var _fsExtra = _interopRequireDefault(require("fs-extra"));
var _path = _interopRequireDefault(require("path"));
const debug = _ndkLogger.default.debug('ndk-lint-tool:config:prettier-config:init');
var _default = async options => {
const {
cwd,
spinner
} = options;
const prettierConfigFile = 'prettier.config.js';
const prettierConfigPath = _path.default.resolve(cwd, prettierConfigFile);
const rcContent = _ndkPrettier.default.format(`module.exports = ${JSON.stringify(_ndkPrettier.default.getOptions(), undefined, 2)};`);
const rcFile = '.prettierrc.js';
const rcPath = _path.default.resolve(cwd, rcFile);
if (_fsExtra.default.existsSync(prettierConfigPath)) {
_fsExtra.default.removeSync(prettierConfigPath);
spinner.succeed(`删除多余的 ${prettierConfigFile} 文件。`);
_ndkLogger.default.logEmpty();
spinner.start();
}
if (_fsExtra.default.existsSync(rcPath)) {
const fileContent = _fsExtra.default.readFileSync(rcPath, 'utf8');
if (fileContent !== rcContent) {
_fsExtra.default.writeFileSync(rcPath, rcContent, 'utf8');
delete require.cache[rcPath];
spinner.succeed(`更新 ${rcFile} 文件。`);
_ndkLogger.default.logEmpty();
spinner.start();
} else {
debug('%s is ok.', rcFile);
}
} else {
_fsExtra.default.writeFileSync(rcPath, rcContent, 'utf8');
spinner.succeed(`新建 ${rcFile} 文件。`);
_ndkLogger.default.logEmpty();
spinner.start();
}
};
exports.default = _default;