@nuofe/ndk-lint-tool
Version:
Lint tool for Nuo FE.
64 lines (50 loc) • 1.6 kB
JavaScript
;
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
Object.defineProperty(exports, "__esModule", {
value: true
});
Object.defineProperty(exports, "Dependencies", {
enumerable: true,
get: function () {
return _getBase.Dependencies;
}
});
exports.default = void 0;
var _ndkLogger = _interopRequireDefault(require("@nuofe/ndk-logger"));
var _semver = _interopRequireDefault(require("semver"));
var _getBase = require("./get-base");
const debug = _ndkLogger.default.debug('ndk-lint-tool:dependencies:ensure');
const ensure = (minVersion, baseVersion) => {
if (!minVersion) {
return false;
}
if (/^\d/.test(baseVersion)) {
return _semver.default.gte(minVersion, baseVersion);
}
return _semver.default.satisfies(minVersion, baseVersion);
};
var _default = async (options, baseDevDependencies) => {
const {
devDependencies = {}
} = options.package;
let result = true;
Object.entries(baseDevDependencies).forEach(([name, baseVersion]) => {
const version = devDependencies[name] || '';
debug('name: %s', name);
debug('baseVersion: %s', baseVersion);
debug('version: %s', version);
if (version === '') {
debug('not standard dependencies.');
result = false;
} else if (version !== '*') {
const minVersion = _semver.default.minVersion(version);
debug('minVersion: %s', minVersion);
if (!ensure(minVersion, baseVersion)) {
debug('not standard dependencies.');
result = false;
}
}
});
return result;
};
exports.default = _default;