sindresorhus / eslint-plugin-unicorn

Compare 7c8abf5 ... +0 ... 4b61c92

Coverage Reach
rules/utils/is-number.js rules/utils/is-same-reference.js rules/utils/rule.js rules/utils/avoid-capture.js rules/utils/needs-semicolon.js rules/utils/boolean.js rules/utils/parentheses.js rules/utils/global-reference-tracker.js rules/utils/numeric.js rules/utils/is-node-matches.js rules/utils/should-add-parentheses-to-logical-expression-child.js rules/utils/should-add-parentheses-to-member-expression-object.js rules/utils/is-function-self-used-inside.js rules/utils/builtins.js rules/utils/is-shadowed.js rules/utils/assert-token.js rules/utils/should-add-parentheses-to-new-expression-callee.js rules/utils/is-new-expression-with-parentheses.js rules/utils/should-add-parentheses-to-expression-statement-expression.js rules/utils/create-deprecated-rules.js rules/utils/cartesian-product-samples.js rules/utils/get-class-head-location.js rules/utils/should-add-parentheses-to-spread-element-argument.js rules/utils/to-location.js rules/utils/get-call-expression-arguments-text.js rules/utils/get-switch-case-head-location.js rules/utils/resolve-variable-name.js rules/utils/singular.js rules/utils/quote-string.js rules/utils/should-add-parentheses-to-conditional-expression-child.js rules/utils/is-logical-expression.js rules/utils/get-scopes.js rules/utils/is-left-hand-side.js rules/utils/get-indent-string.js rules/utils/is-shorthand-property-assignment-pattern-left.js rules/utils/get-documentation-url.js rules/utils/get-references.js rules/utils/is-method-named.js rules/utils/is-shorthand-import-local.js rules/utils/is-shorthand-export-local.js rules/utils/is-shorthand-property-value.js rules/utils/get-variable-identifiers.js rules/utils/get-builtin-rule.js rules/utils/has-same-range.js rules/utils/is-on-same-line.js rules/utils/escape-template-element-raw.js rules/utils/is-value-not-usable.js rules/utils/is-valid-variable-name.js rules/shared/dom-events.js rules/shared/abbreviations.js rules/shared/simple-array-search-rule.js rules/shared/event-keys.js rules/shared/negative-index.js rules/shared/typed-array.js rules/prevent-abbreviations.js rules/selectors/call-or-new-expression-selector.js rules/selectors/member-expression-selector.js rules/selectors/reference-identifier-selector.js rules/selectors/method-call-selector.js rules/selectors/prototype-method-selector.js rules/selectors/not-function.js rules/selectors/not-dom-node.js rules/selectors/index.js rules/selectors/matches-any.js rules/selectors/not-left-hand-side.js rules/selectors/require-selector.js rules/selectors/empty-object-selector.js rules/selectors/empty-array-selector.js rules/selectors/negation.js rules/expiring-todo-comments.js rules/prefer-spread.js rules/no-array-for-each.js rules/no-for-loop.js rules/prefer-array-find.js rules/prefer-export-from.js rules/import-style.js rules/fix/fix-space-around-keywords.js rules/fix/replace-reference-identifier.js rules/fix/switch-new-expression-to-call-expression.js rules/fix/remove-argument.js rules/fix/index.js rules/fix/replace-node-or-token-and-spaces-before.js rules/fix/add-parenthesizes-to-return-or-throw-expression.js rules/fix/append-argument.js rules/fix/remove-method-call.js rules/fix/switch-call-expression-to-new-expression.js rules/fix/extend-fix-range.js rules/fix/remove-spaces-after.js rules/fix/remove-parentheses.js rules/fix/remove-member-expression-property.js rules/fix/replace-template-element.js rules/fix/replace-string-literal.js rules/fix/rename-variable.js rules/fix/replace-argument.js rules/prefer-at.js rules/prefer-switch.js rules/prefer-module.js rules/prefer-ternary.js rules/prefer-object-from-entries.js rules/prefer-array-flat.js rules/filename-case.js rules/no-array-callback-reference.js rules/no-unused-properties.js rules/no-useless-undefined.js rules/no-static-only-class.js rules/no-useless-spread.js rules/prefer-default-parameters.js rules/consistent-function-scoping.js rules/explicit-length-check.js rules/no-useless-promise-resolve-reject.js rules/no-keyword-prefix.js rules/custom-error-definition.js rules/prefer-set-has.js rules/prefer-string-starts-ends-with.js rules/string-content.js rules/prefer-keyboard-event-key.js rules/prefer-string-slice.js rules/prefer-negative-index.js rules/prefer-native-coercion-functions.js rules/numeric-separators-style.js rules/prefer-add-event-listener.js rules/no-array-method-this-argument.js rules/template-indent.js rules/consistent-destructuring.js rules/relative-url-style.js rules/prefer-logical-operator-over-ternary.js rules/prefer-json-parse-buffer.js rules/prefer-type-error.js rules/no-useless-length-check.js rules/no-lonely-if.js rules/no-array-push-push.js rules/prefer-array-some.js rules/better-regex.js rules/prefer-modern-math-apis.js rules/prefer-modern-dom-apis.js rules/prefer-top-level-await.js rules/prefer-query-selector.js rules/catch-error-name.js rules/no-thenable.js rules/prefer-number-properties.js rules/no-null.js rules/prefer-math-trunc.js rules/prefer-date-now.js rules/text-encoding-identifier-case.js rules/switch-case-braces.js rules/no-array-reduce.js rules/no-unnecessary-await.js rules/ast/literal.js rules/ast/index.js rules/ast/is-empty-node.js rules/ast/is-static-require.js rules/ast/is-arrow-function-body.js rules/ast/is-undefined.js rules/no-new-array.js rules/prefer-includes.js rules/error-message.js rules/no-new-buffer.js rules/prefer-reflect-apply.js rules/no-process-exit.js rules/prefer-dom-node-dataset.js rules/no-await-expression-member.js rules/new-for-builtins.js rules/prefer-dom-node-remove.js rules/no-console-spaces.js rules/no-unreadable-array-destructuring.js rules/no-zero-fractions.js rules/prefer-prototype-methods.js rules/prefer-optional-catch-binding.js rules/prefer-string-replace-all.js rules/no-useless-switch-case.js rules/no-useless-fallback-in-spread.js rules/no-unsafe-regex.js rules/require-post-message-target-origin.js rules/prefer-array-flat-map.js rules/prefer-dom-node-text-content.js rules/no-instanceof-array.js rules/escape-case.js rules/empty-brace-spaces.js rules/no-empty-file.js rules/prefer-code-point.js rules/require-array-join-separator.js rules/no-invalid-remove-event-listener.js rules/prefer-node-protocol.js rules/throw-new-error.js rules/require-number-to-fixed-digits-argument.js rules/number-literal-case.js rules/no-abusive-eslint-disable.js rules/no-unreadable-iife.js rules/no-nested-ternary.js rules/no-object-as-default-parameter.js rules/no-this-assignment.js rules/no-hex-escape.js rules/prefer-string-trim-start-end.js rules/prefer-dom-node-append.js rules/prefer-event-target.js rules/prefer-array-index-of.js rules/no-document-cookie.js configs/recommended.js configs/all.js scripts/utils.mjs scripts/rules-table.mjs scripts/rule-notices.mjs index.js

No flags found

Use flags to group coverage reports by test type, project and/or folders.
Then setup custom commit statuses and notifications for each flag.

e.g., #unittest #integration

#production #enterprise

#frontend #backend

Learn more about Codecov Flags here.


@@ -218,7 +218,7 @@
Loading
218 218
	const filename = context.getFilename().toLowerCase();
219 219
220 220
	if (filename.endsWith('.cjs')) {
221 -
		return {};
221 +
		return;
222 222
	}
223 223
224 224
	const sourceCode = context.getSourceCode();

@@ -147,7 +147,7 @@
Loading
147 147
	const filenameWithExtension = context.getPhysicalFilename();
148 148
149 149
	if (filenameWithExtension === '<input>' || filenameWithExtension === '<text>') {
150 -
		return {};
150 +
		return;
151 151
	}
152 152
153 153
	return {

@@ -70,7 +70,7 @@
Loading
70 70
	const replacements = getReplacements(patterns);
71 71
72 72
	if (replacements.length === 0) {
73 -
		return {};
73 +
		return;
74 74
	}
75 75
76 76
	return {

@@ -71,10 +71,18 @@
Loading
71 71
		return create;
72 72
	}
73 73
74 -
	const wrapped = context => Object.fromEntries(
75 -
		Object.entries(create(context))
76 -
			.map(([selector, listener]) => [selector, reportListenerProblems(listener, context)]),
77 -
	);
74 +
	const wrapped = context => {
75 +
		const listeners = create(context);
76 +
77 +
		if (!listeners) {
78 +
			return {};
79 +
		}
80 +
81 +
		return Object.fromEntries(
82 +
			Object.entries(listeners)
83 +
				.map(([selector, listener]) => [selector, reportListenerProblems(listener, context)]),
84 +
		);
85 +
	};
78 86
79 87
	wrappedFunctions.add(wrapped);
80 88

@@ -20,7 +20,7 @@
Loading
20 20
	const filename = context.getPhysicalFilename().toLowerCase();
21 21
22 22
	if (!/\.(?:js|mjs|cjs|ts|mts|cts)$/.test(filename)) {
23 -
		return {};
23 +
		return;
24 24
	}
25 25
26 26
	return {

Everything is accounted for!

No changes detected that need to be reviewed.
What changes does Codecov check for?
Lines, not adjusted in diff, that have changed coverage data.
Files that introduced coverage data that had none before.
Files that have missing coverage data that once were tracked.
Files Coverage
configs 100.00%
rules +<.01% 99.87%
scripts 73.33%
index.js 100.00%
Project Totals (203 files) 99.70%
Loading