[go: nahoru, domu]

Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

feat(eslint-plugin): [no-array-delete] add new rule #8067

Merged

Conversation

StyleShit
Copy link
Contributor

Closes #4432

@typescript-eslint
Copy link
Contributor

Thanks for the PR, @StyleShit!

typescript-eslint is a 100% community driven project, and we are incredibly grateful that you are contributing to that community.

The core maintainers work on this in their personal time, so please understand that it may not be possible for them to review your work immediately.

Thanks again!


🙏 Please, if you or your company is finding typescript-eslint valuable, help us sustain the project by sponsoring it transparently on https://opencollective.com/typescript-eslint.

Copy link
netlify bot commented Dec 14, 2023

Deploy Preview for typescript-eslint ready!

Name Link
🔨 Latest commit 0004c10
🔍 Latest deploy log https://app.netlify.com/sites/typescript-eslint/deploys/659ae4373463650008d12cfd
😎 Deploy Preview https://deploy-preview-8067--typescript-eslint.netlify.app
📱 Preview on mobile
Toggle QR Code...

QR Code

Use your smartphone camera to open QR code link.
Lighthouse
Lighthouse
1 paths audited
Performance: 98 (🔴 down 1 from production)
Accessibility: 100 (no change from production)
Best Practices: 92 (no change from production)
SEO: 98 (no change from production)
PWA: 80 (no change from production)
View the detailed breakdown and full score reports

To edit notification comments on pull requests, go to your Netlify site configuration.

Copy link
Member
@JoshuaKGoldberg JoshuaKGoldberg left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

A lovely start, thanks for working on this! The foundation is very solid 💪 just some touchups & more testing mostly.

Spongebob ripping off his shirt to reveal an extreme amount of muscles

packages/eslint-plugin/src/rules/no-array-delete.ts Outdated Show resolved Hide resolved
packages/eslint-plugin/src/rules/no-array-delete.ts Outdated Show resolved Hide resolved
packages/eslint-plugin/src/rules/no-array-delete.ts Outdated Show resolved Hide resolved
packages/eslint-plugin/tests/rules/no-array-delete.test.ts Outdated Show resolved Hide resolved
@JoshuaKGoldberg JoshuaKGoldberg added the awaiting response Issues waiting for a reply from the OP or another party label Dec 15, 2023
@github-actions github-actions bot removed the awaiting response Issues waiting for a reply from the OP or another party label Dec 17, 2023
Copy link
Member
@JoshuaKGoldberg JoshuaKGoldberg left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Getting there! A blocking request on the fix/suggestion difference. And some more testing I thought of just now. Thanks!~

@JoshuaKGoldberg JoshuaKGoldberg added the awaiting response Issues waiting for a reply from the OP or another party label Dec 29, 2023
@github-actions github-actions bot removed the awaiting response Issues waiting for a reply from the OP or another party label Dec 30, 2023
@StyleShit
Copy link
Contributor Author

not sure why the CI is failing. doesn't seem to be related to this PR 🤷

@JoshuaKGoldberg
Copy link
Member

Yeah the CI failures are fixed on main, sorry about that 😞

Copy link
Member
@JoshuaKGoldberg JoshuaKGoldberg left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Progress!

Comment on lines 74 to 76
if (node.argument.type !== AST_NODE_TYPES.MemberExpression) {
return null;
}
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

[Cleanup] I can see why this code helps - node.argument loses its type refinement (narrowing) inside this closure. But it's a duplicate statement that shouldn't be necessary.

I think a cleaner approach would be to store node.argument in a variable. Then we wouldn't have to worry about its type being misunderstood by TypeScript later on.

const { argument } = node;
if (argument.type !== AST_NODE_TYPES.MemberExpression) {
  return;
}
Suggested change
if (node.argument.type !== AST_NODE_TYPES.MemberExpression) {
return null;
}

Aside: I haven't looked deeply into microsoft/TypeScript#56908 to see whether it would apply to a property of a parameter.

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I actually tried it and it didn't work for some reason. now it works 😅

TS is afraid of you

Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Spongebob laughing evilly over dramatic purple-lit black underwater sky

@JoshuaKGoldberg JoshuaKGoldberg added the awaiting response Issues waiting for a reply from the OP or another party label Jan 4, 2024
@github-actions github-actions bot removed the awaiting response Issues waiting for a reply from the OP or another party label Jan 7, 2024
Copy link
Member
@JoshuaKGoldberg JoshuaKGoldberg left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Looks fantastic, thanks! 🔥

The Simpsons family gathering and playing tribal music in front of a burning effigy of some sort. Caption: '(playing upbeat music)'

@JoshuaKGoldberg JoshuaKGoldberg merged commit e0f591e into typescript-eslint:main Jan 9, 2024
58 checks passed
@github-actions github-actions bot locked as resolved and limited conversation to collaborators Jan 17, 2024
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

Rule proposal: no-array-delete
2 participants