https://bugzilla.wikimedia.org/show_bug.cgi?id=52456

Krinkle <krinklem...@gmail.com> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
             Status|NEW                         |RESOLVED
         Resolution|---                         |INVALID

--- Comment #5 from Krinkle <krinklem...@gmail.com> ---
The job should not be enabled (especially not voting) on repositories without a
jshintrc file. This isn't a question of providing a sensible default. Enabling
it without a jshintrc file will always fail, and if not, it will be a false
positive.

Stop enabling (or honouring requests to do so) for repositories without such a
file in place.

I've said it before but I'll say it again, creating an empty .jshintrc file is
also not a solution and I'll hereby declare it an anti-pattern. Stop doing it
please.

Repositories may (not must) inherit the Wikimedia coding conventions[1].
However projects usually require some additional configuration specific to
their poject.

Providing a default file in the directory chain with the Wikimedia code
conventions is not a solution either for the same reason using other defaults
is not a solution. The settings must ship with the repository.

1) The repository is not dependent on our infrastructure (running jshint or
grunt locally should have the same effect, and linting plugins for code editors
need access to the settings in the expected location in order to give the right
feedback).

2) Builds don't unexpectedly start breaking.
  When the defaults change (either the one in docroot, the jshint default or
ours), this will break peoples tests for no reason and with no obvious source
of the problem. When our conventions are adjusted, these changes should
propagate to all the projects. However having these settings propagate
automatically is not productive because projects need to actually update their
code to account for the new settings, and until they do so, it's not very
productive to break their build because of a minor coding style change. Instead
they can update it whenever (and if) they want to. And again, reason #1.

Closing as INVALID. If changes in your repository produce broken builds because
of missing or invalid jshint settings, please blame whoever enabled it without
ensuring a jshintrc file is in place for enabling a useless job that is bound
to fail, and then add a jshintrc file[2] to the repository so the build will
start working :)

[1] https://www.mediawiki.org/wiki/Manual:Coding_conventions/JavaScript
[2] https://www.mediawiki.org/wiki/Manual:Coding_conventions/JavaScript#Linting

PS: How about we wrap bin/jshint in a script that returns early if .jshintrc is
missing?

-- 
You are receiving this mail because:
You are the assignee for the bug.
You are on the CC list for the bug.
_______________________________________________
Wikibugs-l mailing list
Wikibugs-l@lists.wikimedia.org
https://lists.wikimedia.org/mailman/listinfo/wikibugs-l

Reply via email to