janestreet/ppx_js_style

ppx_js_style is enforced

Closed this issue · 6 comments

ivg commented

The problem is that ppx_js_style is a hard dependency of ppx_base which is a dependency of many (if not all) ppx-based rewriters. As a result it enforces all the deprecation messages to contain a date of deprecation. This requirement may have some meaning in the Janestreet release cycle, but really doesn't make any sense if you're using semantic versioning or actually any versioning.

Being a dependency of Base merely means that you have to install it, not that you have to turn it on, no?

ivg commented

Well, I'm not running it actually, at least I didn't do anything specific to run it, so I believe that the check is enabled by default. I've tried the -no-check option of ppx-jane but it didn't help. There are also some options that enables/disables type annotations checks and docstrings, but I didn't find anything that deals with the deprecation warning.

-no-check is unrelated to ppx_js_style, it is here to disable the checks which are built in ppx_driver (e.g. checking that no attributes was silently dropped, that kind of things).

I think it makes sense, outside our walls, to remove ppx_js_style from ppx_jane.
I'll do that the next I push to github.

ivg commented

That said, I can see why you'd want something like ppx_jane with that check
omitted. Is that what you're looking for?

Yep.

I made the check optional (and off by default) in cc52570 .
ppx_js_style is still part of ppx_jane though (and we actually want to keep it that way to compile our packages)