@nuofe/ndk-lint-tool
Version:
Lint tool for Nuo FE.
70 lines (57 loc) • 2.07 kB
JavaScript
;
var _interopRequireWildcard = require("@babel/runtime/helpers/interopRequireWildcard");
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
Object.defineProperty(exports, "__esModule", {
value: true
});
Object.defineProperty(exports, "DependenciesPackage", {
enumerable: true,
get: function () {
return _ensure.DependenciesPackage;
}
});
Object.defineProperty(exports, "Dependencies", {
enumerable: true,
get: function () {
return _getBase.Dependencies;
}
});
exports.default = void 0;
var _ndkLogger = _interopRequireDefault(require("@nuofe/ndk-logger"));
var _ndkPackage = _interopRequireDefault(require("@nuofe/ndk-package"));
var _sortObjectKeys = _interopRequireDefault(require("sort-object-keys"));
var _ensure = _interopRequireWildcard(require("./ensure"));
var _getBase = _interopRequireWildcard(require("./get-base"));
const debug = _ndkLogger.default.debug('ndk-lint-tool:dependencies:init');
const remove = (dependencies, base = {}) => {
const excludeNames = Object.keys(base);
const newDependencies = {};
const removeRegex = /(e|t)slint/;
Object.entries(dependencies).forEach(([name, value]) => {
if (!(excludeNames.includes(name) || removeRegex.test(name))) {
newDependencies[name] = value;
}
});
return newDependencies;
};
var _default = async options => {
const baseDevDependencies = await (0, _getBase.default)(options);
if (!(await (0, _ensure.default)(options, baseDevDependencies))) {
const {
package: pkg
} = options;
const {
dependencies = {},
devDependencies = {}
} = pkg;
pkg.dependencies = (0, _sortObjectKeys.default)(remove(dependencies, baseDevDependencies));
pkg.devDependencies = (0, _sortObjectKeys.default)({ ...remove(devDependencies),
...baseDevDependencies
});
await _ndkPackage.default.update(options, '更新 lint 依赖。');
await _ndkPackage.default.installDependencies(options);
} else {
debug('dependencies is ok.');
}
};
exports.default = _default;