rxjs-tslint-rules
Version:
TSLint rules for RxJS
41 lines (40 loc) • 1.6 kB
JavaScript
;
Object.defineProperty(exports, "__esModule", { value: true });
var fs = require("fs");
var path = require("path");
var resolve = require("resolve");
var semver = 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-rc.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;