rxjs-tslint-rules
Version:
TSLint rules for RxJS
43 lines (42 loc) • 1.9 kB
JavaScript
;
Object.defineProperty(exports, "__esModule", { value: true });
exports.warn = exports.v6OnlyMessage = exports.v6NotNeededMessage = exports.v6 = exports.v5NotSupportedMessage = exports.v5 = exports.version = exports.dir = exports.compat = void 0;
var tslib_1 = require("tslib");
var fs = tslib_1.__importStar(require("fs"));
var path = tslib_1.__importStar(require("path"));
var resolve = tslib_1.__importStar(require("resolve"));
var semver = tslib_1.__importStar(require("semver"));
var peerDir = undefined;
var peerVersion = undefined;
var fixturesDir = process.env["RXJS_TSLINT_FIXTURES_DIR"];
if (fixturesDir) {
peerDir = path.join(path.resolve(fixturesDir), "node_modules/rxjs");
peerVersion = require(path.join(peerDir, "package.json")).version;
}
else {
try {
var entry = resolve.sync("rxjs");
peerDir = path.dirname(entry);
var root = peerDir.replace(/node_modules[\/\\]rxjs[\/\\](.*)$/, function (match) { return match; });
var pack = require(path.join(root, "package.json"));
peerVersion = pack.version;
}
catch (error) {
warn();
}
}
exports.compat = peerDir
? fs.existsSync(path.join(path.dirname(peerDir), "rxjs-compat"))
: false;
exports.dir = peerDir;
exports.version = peerVersion;
exports.v5 = peerVersion && semver.satisfies(peerVersion, "^5.0.0");
exports.v5NotSupportedMessage = "This rule is v6-only. The rule might work with v5, but it has not been tested and is not supported.";
exports.v6 = peerVersion && semver.satisfies(peerVersion, ">=6.0.0");
exports.v6NotNeededMessage = "Rule not needed for v6.";
exports.v6OnlyMessage = "This rule is v6-only.";
function warn(dir) {
if (dir === void 0) { dir = ""; }
console.warn("Cannot find node_modules/rxjs/" + dir + "; some rxjs-tslint-rules will be ineffectual.");
}
exports.warn = warn;