@nuofe/ndk-lint-tool
Version:
Lint tool for Nuo FE.
74 lines (54 loc) • 2.26 kB
JavaScript
;
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
Object.defineProperty(exports, "__esModule", {
value: true
});
exports.default = void 0;
var _ndkCli = _interopRequireDefault(require("@nuofe/ndk-cli"));
var _ndkConfig = _interopRequireDefault(require("@nuofe/ndk-config"));
var _ndkLogger = _interopRequireDefault(require("@nuofe/ndk-logger"));
var _ndkPackage = _interopRequireDefault(require("@nuofe/ndk-package"));
var _init = _interopRequireDefault(require("../init"));
const debug = _ndkLogger.default.debug('ndk-lint-tool:commands:lint');
var _default = async options => {
const {
args,
cwd,
spinner
} = options;
const packageOptions = await _ndkPackage.default.initOptions(options, true);
const configOptions = await _ndkConfig.default.initOptions(options);
const {
devDependencies = {}
} = packageOptions.package;
const {
type
} = configOptions.config;
let status = 0;
debug('init.');
await (0, _init.default)({ ...packageOptions,
...configOptions
}, true);
spinner.stop();
debug('lint.');
status = (await _ndkCli.default.spawn('yarn', ['lint', ...args], {
cwd,
stdio: 'inherit'
})).status;
debug('status: %s', status);
if (status !== 0) {
_ndkLogger.default.logEmpty();
_ndkLogger.default.logError('[i] 检测未通过,请根据提示修复代码!');
if (!devDependencies['@nuofe/ndk-builder'] && ['app', 'web'].includes(type)) {
_ndkLogger.default.logEmpty();
_ndkLogger.default.logWarning(['[i] 如果报 import/no-unresolved 错误,可尝试以下方式解决。', '', '1、安装依赖包:', 'yarn add eslint-import-resolver-webpack --dev', '', '2、在 .eslintrc.js 文件中增加 webpack config 配置:', 'module.exports = {', ' // ...', ' settings: {', " 'import/resolver': {", ' node: {},', ' webpack: {', " config: './path/of/webpack.config.js',", ' },', ' },', ' },', ' // ...', '};'].join('\n'));
}
_ndkLogger.default.logEmpty();
process.exit(1);
}
_ndkLogger.default.logEmpty();
spinner.succeed('检测通过,请继续保持。');
_ndkLogger.default.logEmpty();
spinner.start();
};
exports.default = _default;