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

Major: Deprecate and remove JSHint #78

Closed
iccir opened this issue Nov 19, 2015 · 3 comments
Closed

Major: Deprecate and remove JSHint #78

iccir opened this issue Nov 19, 2015 · 3 comments
Milestone

Comments

@iccir
Copy link
Member

iccir commented Nov 19, 2015

JSHint is slow and duplicates many warnings found by the typechecker. Options related to code formatting are either going away ("JSHint is limiting its scope to issues of code correctness." in the options reference) or have already been turned off by ojc.

For the remaining options, I'd rather add more --warn-* options to ojc or add generic hooks to run external linting tools.

The oj 1.2 README mentions the deprecation. I'd like to officially remove it in oj 2.0.

@iccir iccir modified the milestones: 1.2, 2.0 Nov 19, 2015
@iccir
Copy link
Member Author

iccir commented Nov 19, 2015

The following options are deprecated by jshint:
camelcase, enforceall, immed, indent, noempty,
quotmark, sub, globalstrict, laxbreak, laxcomma,
multistr, newcap

The following options can't be used due to oj code generation:
es3, es5, esversion, esnext: oj always targets ES5
max*, eqeqeq, varstmt, nocomma, asi, eqnull - Causes false positives with oj generated code
lastsemic - tied to asi

The following options are duplicated by the typechecker:
Environments, freeze, predef, globals, undef, proto, with
funcscope - typechecker warns when let is used rather than var

The following options weren't on by default (in oj 1.x) and had to be explicitly enabled:
bitwise, curly, forin, futurehostile, latedef, noarg, nonbsp,
nonew, notypeof, singleGroups, plusplus, moz, shadow

These options were on and did warn in oj 1.x:
boss, debug, elision, evil, expr,
loopfunc, noyield, scripturl, strict,
supernew, unused, validthis

@iccir
Copy link
Member Author

iccir commented Nov 20, 2015

Adding warn-debugger to replace debug and warn-empty-array-element to replace elision, as they are both low-hanging fruit.

#79 is the upgrade path for all others. It works well with both ESLint and JSHint.

@iccir
Copy link
Member Author

iccir commented Nov 28, 2015

On 2.0 branch.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

1 participant