Comments (10)
I cannot think of how to fix this at the AST level.
from eslint-plugin-lodash.
Neither can we. At the AST level, there's no way of knowing that $(movieElement).parents('h3').siblings('.show_results')
isn't an array, and this plugin should be library agnostic, except for Lodash itself.
I guess I would advise to turn off this rule for corresponding lines, files, or folders in general.
from eslint-plugin-lodash.
Technically, you could add a check if the top-most node in the chain is $()
declaration.
99% of the code that relies on jQuery like DOM iterators use this convention.
from eslint-plugin-lodash.
It gets a bit harder if you do something like this:
$(movieElement)
.parents('h3')
.siblings('.show_results')
.find('.film_time_listing span a')
[0]
.find(conditionFn)
Though thats an edge use-case.
from eslint-plugin-lodash.
Yes, technically we could. However, Like I said, the plugin doesn't assume anything about variables by their names except for Lodash. There could technically be a $() definition in which the find
is the native ES6 Array.prototype.find
.
In general, we have no way of knowing that any method that's named like an array method isn't used on an array.
Again, in this case I think you should disable this specific rule.
from eslint-plugin-lodash.
There is no way to disable it just for "find" and otherwise this is the only rule that I find useful.
On Nov 25, 2015, at 16:38, Omer Ganim [email protected] wrote:
Yes, technically we could. However, Like I said, the plugin doesn't assume anything about variables by their names except for Lodash. There could technically be a $() definition in which the find is the native ES6 Array.prototype.find.
In general, we have no way of knowing that any method that's named like an array method isn't used on an array.
Again, in this case I think you should disable this specific rule.β
Reply to this email directly or view it on GitHub.
from eslint-plugin-lodash.
This also breaks when using http://bluebirdjs.com/docs/api-reference.html. There is no obvious solution. Shame, in theory it is a nice linting rule. In practise it is just not functional.
from eslint-plugin-lodash.
I wonder how feasible would it be to define something like this in a run-time setup.
from eslint-plugin-lodash.
π +1 for adding configuration to this rule so that we can disable it just for find
.
from eslint-plugin-lodash.
For the record, I never suggested to disable this rule just for find and I think thats a bad idea.
from eslint-plugin-lodash.
Related Issues (20)
- `prop-shorthand` does not report on `_.orderBy` HOT 1
- Dependabot couldn't reach repo.dev.wixpress.com/artifactory/api/npm/npm-repos as it timed out
- `collection-ordering`: Require same number of iteratees and orders
- Error when typing `_()`
- chaining rule doesnβt work when chain is imported from lodash/chain HOT 1
- Can I autofix by `preferred-alias` rule? HOT 1
- `path-style` rule has bug
- False positive for prefer-lodash-chain with _.range? HOT 1
- Version 7.1.0 is failing on the project with Lodash v3 HOT 1
- prefer-noop shouldn't trigger if a function has comment inside
- path-style is supposed to be "as-needed" by default
- bug: lodash/prefer-lodash-method false positive with nextjs (react) router replace
- path-style rule auto-fix incorrectly formats object accessor causing regressions! HOT 1
- Whitesource scan vulnerability on lodash < 4.19.19
- Support ESLint 8.x HOT 1
- Recommending `_.split` for v3 despite it not existing
- type import produces false positive under lodash/import-scope HOT 1
- `prefer-is-undefined` and `prefer-is-null`
- Combine rules for `import-scope`, accept both 'member' and 'method' HOT 2
- lodash/prefer-* rules cause problems with Jest mocks HOT 1
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
π Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. πππ
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google β€οΈ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from eslint-plugin-lodash.