Closed sirosen closed 10 months ago
(I would maybe name the regress one js or ecma or ecmascript or javascript or whatever personally, so users don't need to even know what the heck regress is, but that's probably the easy part!)
I have to stash my work on this for now, but I'll be keeping an eye on regress
in order to pick this back up when I can. There's a bug in regress
which is causing issues with the named capture groups used in the renovate
schema.
I took a quick crack at a PR for this: https://github.com/ridiculousfish/regress/pull/67
I think that fix is right; if it or an alternative fix gets merged, I can try to put in a PR to prep a release of crate-py/regress
, and hopefully this all flows forwards nicely.
My PR was merged just under a week ago, but I'm not sure what the regress
crate release cycle looks like.
At the risk of nagging, I've filed a follow-up to ask for a release and provide some context: https://github.com/ridiculousfish/regress/issues/68
This is now in main
and I'll be releasing it shortly -- partly to kick the tires on some new publishing workflows.
Because we might have a way for pattern
and patternProperties
to use an alternate regex implementation someday, I took a moment to restructure this to a RegexImplementation
class.
It's still very much wired up to format checking, but it should be easy to move elsewhere and grow it as new features become available.
There's a python package for the
regress
crate (see: https://github.com/python-jsonschema/jsonschema/issues/1142#issuecomment-1649988765).It should be pretty easy to pull this in and use it to replace the default regex format check. We can then expose many modes with something like
--regex-format [default|regress|python|disabled]
and drop the gated regex check that exists today. (Wheredefault
andregress
are the same?)There's other CLI option refactoring to do around the format controls, so this might dovetail with that.