bodil / eslint-config-cleanjs Goto Github PK
View Code? Open in Web Editor NEWAn eslint config which reduces JS to a pure functional language
An eslint config which reduces JS to a pure functional language
Atom somehow shows how much code is covered by Flow. CleanScript demands 100% I guess.
Don't think there is a use case for var anymore.
Since mutation is forbidden, there is no case for let neither
It's in the bad parts for ages, so we can drop it
After #11 of course.
Don't think there is a use case for var anymore.
Since mutation is forbidden, there is no case for let neither
I never used them, so i guess we can live without it
I believe the super subset of CoffeeScript can do that.
The file extension can be .cj
aka CleanScript.
Something like standard
"Use this plugin in one of your projects? Include one of these badges in your readme to let people know that your code is clean"
It's a warm feeling to know that a library won't mutate my (immutable) data structures
๐ @bodil,
Would you accept a PR updating eslint-plugin-import
? breaking changes do not seem to affect this config: https://github.com/benmosher/eslint-plugin-import/blob/master/CHANGELOG.md#breaking
I'm a little confused about the intention of using both of these rules, as well as the "Please note that this rule set is meant for use only with ES6 or higher (and the ES7 object rest spread proposal helps a lot)"
section of the README.
fp/no-rest-parameters stops you from using rest params altogether: https://github.com/jfmengels/eslint-plugin-fp/blob/master/docs/rules/no-rest-parameters.md
+-- UNMET PEER DEPENDENCY [email protected]
+-- [email protected]
+-- [email protected]
+-- [email protected]
+-- UNMET PEER DEPENDENCY [email protected]
+-- [email protected]
npm ERR! peer dep missing: eslint@^3.3.1, required by [email protected]
npm ERR! peer dep missing: eslint-plugin-import@^1.14.0, required by [email protected]
I get this message when listing global packages. Any reason why the peer dep of this config are not matching the latest?
Hi there!
How about adding some information on how to use it in conjunction with standard and friends? I am not sure what's the best way to do so.
Maybe a small executable would be the easiest way, like standard
does.
Cheers
Hi,
i'm excited about the objective and limitations of your project. I wrote my Bachelor Thesis earlier this year about a purely function subset of EcmaScript2015. There, i discovered that comparisons for object-identity naturally conflict with purity. For example, the expression (x => x === x)({})
evaluates to true
w.r.t call-by-value or call-by-need, but to false
w.r.t. call-by-name (the same holds for ==
and Object.is
). There are at least two possible solutions to this problem:
===
and everything, which depends on object-identity.In absense of a value-based notion of equality both of these limitations would clearly make the target-language impractical. Another limitation today is, that nearly all of the APIs which deal with effects (like I/O) depend on side-effects. Do you have any thoughts on how to gap these parts?
Something like https://babeljs.io/repl, but without any option. The right side should render eslint and flowtype errors. It should help people to write parts of their apps in the clean style. I feel there should be the only one pragma /* @clean */
. It should enforce eslint airbnb syntax (it's pretty strictly) + cleanjs. And somehow /* @flow full-coverage? */.
I wonder if there's an easy way to exclude some of these rules for tests. Since we're more or less forced to write them in a specific way I often end up with these:
Nobody tolerate "alert" anymore in any app.
So we can make it illegal
A declarative, efficient, and flexible JavaScript library for building user interfaces.
๐ Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. ๐๐๐
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google โค๏ธ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.