@sgohlke/stryker-log-ignorer
Version:
Log Ignorer for Stryker
61 lines (58 loc) • 2.76 kB
JavaScript
Object.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });
//#region \0rolldown/runtime.js
var __create = Object.create;
var __defProp = Object.defineProperty;
var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
var __getOwnPropNames = Object.getOwnPropertyNames;
var __getProtoOf = Object.getPrototypeOf;
var __hasOwnProp = Object.prototype.hasOwnProperty;
var __copyProps = (to, from, except, desc) => {
if (from && typeof from === "object" || typeof from === "function") {
for (var keys = __getOwnPropNames(from), i = 0, n = keys.length, key; i < n; i++) {
key = keys[i];
if (!__hasOwnProp.call(to, key) && key !== except) {
__defProp(to, key, {
get: ((k) => from[k]).bind(null, key),
enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable
});
}
}
}
return to;
};
var __toESM = (mod, isNodeMode, target) => (target = mod != null ? __create(__getProtoOf(mod)) : {}, __copyProps(isNodeMode || !mod || !mod.__esModule ? __defProp(target, "default", {
value: mod,
enumerable: true
}) : target, mod));
//#endregion
let _stryker_mutator_api_plugin = require("@stryker-mutator/api/plugin");
let node_fs = require("node:fs");
node_fs = __toESM(node_fs);
//#region src/index.ts
var LogIgnorer = class {
static inject = [_stryker_mutator_api_plugin.commonTokens.options];
options;
constructor(options) {
this.options = options?.logignore;
}
shouldIgnore(path) {
const loggerObjectNames = this.options?.objectNames ?? ["console"];
if (path.isExpressionStatement() && path.node.expression.type === "CallExpression" && path.node.expression.callee.type === "MemberExpression" && path.node.expression.callee.object.type === "Identifier" && loggerObjectNames.includes(path.node.expression.callee.object.name)) return `We are not interested in testing ${loggerObjectNames} statements.`;
}
};
logIgnorerFactory.inject = (0, _stryker_mutator_api_plugin.tokens)(_stryker_mutator_api_plugin.commonTokens.injector);
function logIgnorerFactory(injector) {
return injector.injectClass(LogIgnorer);
}
function createLogIgnorerFactory() {
return logIgnorerFactory;
}
const strykerPlugins = [(0, _stryker_mutator_api_plugin.declareFactoryPlugin)(_stryker_mutator_api_plugin.PluginKind.Ignore, "log-ignore", createLogIgnorerFactory())];
const strykerValidationSchema = JSON.parse(node_fs.default.readFileSync(new URL("../schema/log-ignorer-options.json", require("url").pathToFileURL(__filename).href), "utf8"));
//#endregion
exports.LogIgnorer = LogIgnorer;
exports.createLogIgnorerFactory = createLogIgnorerFactory;
exports.logIgnorerFactory = logIgnorerFactory;
exports.strykerPlugins = strykerPlugins;
exports.strykerValidationSchema = strykerValidationSchema;
//# sourceMappingURL=index.cjs.map