@nuofe/ndk-lint-tool
Version:
Lint tool for Nuo FE.
65 lines (46 loc) • 1.62 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 _fsExtra = _interopRequireDefault(require("fs-extra"));
var _path = _interopRequireDefault(require("path"));
const debug = _ndkLogger.default.debug('ndk-lint-tool:config:editor-config:init');
const getEditorConfig = () => `root = true
[*]
indent_style = space
indent_size = 2
end_of_line = lf
charset = utf-8
trim_trailing_whitespace = true
insert_final_newline = true
max_line_length = 100
`;
var _default = async options => {
const {
cwd,
spinner
} = options;
const editorConfigContent = getEditorConfig();
const editorConfigFile = '.editorconfig';
const editorConfigPath = _path.default.resolve(cwd, editorConfigFile);
if (_fsExtra.default.existsSync(editorConfigPath)) {
const fileContent = _fsExtra.default.readFileSync(editorConfigPath, 'utf8');
if (fileContent !== editorConfigContent) {
_fsExtra.default.writeFileSync(editorConfigPath, editorConfigContent, 'utf8');
spinner.succeed(`更新 ${editorConfigFile} 文件。`);
_ndkLogger.default.logEmpty();
spinner.start();
} else {
debug('%s is ok.', editorConfigFile);
}
} else {
_fsExtra.default.writeFileSync(editorConfigPath, editorConfigContent, 'utf8');
spinner.succeed(`新建 ${editorConfigFile} 文件。`);
_ndkLogger.default.logEmpty();
spinner.start();
}
};
exports.default = _default;