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
assert-token.js 100.00%
avoid-capture.js 100.00%
boolean.js 100.00%
builtins.js 100.00%
cartesian-product-samples.js 100.00%
create-deprecated-rules.js 100.00%
escape-template-element-raw.js 100.00%
get-builtin-rule.js 100.00%
get-call-expression-arguments-text.js 100.00%
get-class-head-location.js 100.00%
get-documentation-url.js 100.00%
get-indent-string.js 100.00%
get-references.js 100.00%
get-scopes.js 100.00%
get-switch-case-head-location.js 100.00%
get-variable-identifiers.js 100.00%
global-reference-tracker.js 98.61%
has-same-range.js 100.00%
is-function-self-used-inside.js 100.00%
is-left-hand-side.js 100.00%
is-logical-expression.js 100.00%
is-method-named.js 100.00%
is-new-expression-with-parentheses.js 100.00%
is-node-matches.js 100.00%
is-number.js 100.00%
is-on-same-line.js 100.00%
is-same-reference.js 98.75%
is-shadowed.js 100.00%
is-shorthand-export-local.js 100.00%
is-shorthand-import-local.js 100.00%
is-shorthand-property-assignment-pattern-left.js 100.00%
is-shorthand-property-value.js 100.00%
is-valid-variable-name.js 100.00%
is-value-not-usable.js 100.00%
needs-semicolon.js 94.74%
numeric.js 100.00%
parentheses.js 100.00%
quote-string.js 100.00%
resolve-variable-name.js 100.00%
rule.js 0.07% 98.72%
should-add-parentheses-to-conditional-expression-child.js 100.00%
should-add-parentheses-to-expression-statement-expression.js 100.00%
should-add-parentheses-to-logical-expression-child.js 100.00%
should-add-parentheses-to-member-expression-object.js 100.00%
should-add-parentheses-to-new-expression-callee.js 100.00%
should-add-parentheses-to-spread-element-argument.js 100.00%
singular.js 100.00%
to-location.js 100.00%
Folder Totals (48 files) 99.41%
Project Totals (203 files) 99.70%
Loading